Daemon functions for logging temp no longer recursive

This commit is contained in:
2021-10-06 22:18:57 +02:00
parent 73b939b643
commit 95a8fb7a77

View File

@@ -58,18 +58,18 @@ class DHT11Sensor(BrewSensor):
logger.info("spawned background sensor {} log at interval: {}".format(self.location, self.interval)) logger.info("spawned background sensor {} log at interval: {}".format(self.location, self.interval))
def logSensorOnIntervalForever(self): def logSensorOnIntervalForever(self):
try: while True:
self.logReadings() try:
except RuntimeError as error: self.logReadings()
logger.error('Sensor log daemon failed, sleeping and trying again', es={ except Exception as error:
'location': self.location, logger.error('Sensor log daemon failed, sleeping and trying again', es={
'error': str(error), 'location': self.location,
'exception': error.__class__.__name__ 'error': str(error),
}) 'exception': error.__class__.__name__
time.sleep(2) })
time.sleep(2)
time.sleep(self.interval) time.sleep(self.interval)
self.logSensorOnIntervalForever()
@staticmethod @staticmethod
def fromYaml(loader, node): def fromYaml(loader, node):
@@ -88,16 +88,16 @@ class BME680Sensor(BrewSensor):
self.sensor.set_pressure_oversample(bme680.OS_4X) self.sensor.set_pressure_oversample(bme680.OS_4X)
self.sensor.set_temperature_oversample(bme680.OS_8X) self.sensor.set_temperature_oversample(bme680.OS_8X)
self.sensor.set_filter(bme680.FILTER_SIZE_3) self.sensor.set_filter(bme680.FILTER_SIZE_3)
self.sensor.set_gas_status(bme680.ENABLE_GAS_MEAS) self.sensor.set_gas_status(bme680.ENABLE_GAS_MEAS)
self.sensor.set_gas_heater_temperature(320) self.sensor.set_gas_heater_temperature(320)
self.sensor.set_gas_heater_duration(150) self.sensor.set_gas_heater_duration(150)
self.sensor.select_gas_heater_profile(0) self.sensor.select_gas_heater_profile(0)
def read(self): def read(self):
self.lastSensorRead = time.time() self.lastSensorRead = time.time()
return self.sensor.get_sensor_data() return self.sensor.get_sensor_data()
def logReadings(self, detailed): def logReadings(self, detailed):
if self.needToUpdateReadings: if self.needToUpdateReadings:
self.read() self.read()
@@ -127,18 +127,18 @@ class BME680Sensor(BrewSensor):
logger.info("spawned background sensor {} log at interval: {}".format(self.location, self.interval)) logger.info("spawned background sensor {} log at interval: {}".format(self.location, self.interval))
def logSensorOnIntervalForever(self): def logSensorOnIntervalForever(self):
try: while True:
self.logReadings(detailed=True) try:
except exception as error: self.logReadings(detailed=True)
logger.error('Sensor log daemon failed, sleeping and trying again', es={ except Exception as error:
'location': self.location, logger.error('Sensor log daemon failed, sleeping and trying again', es={
'error': str(error), 'location': self.location,
'exception': error.__class__.__name__ 'error': str(error),
}) 'exception': error.__class__.__name__
time.sleep(2) })
time.sleep(2)
time.sleep(self.interval) time.sleep(self.interval)
self.logSensorOnIntervalForever()
@property @property
def needToUpdateReadings(self): def needToUpdateReadings(self):