From e6adc5b1523a09617cad6814c4fba6fd7cd27d49 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 13 Nov 2021 18:29:42 +0100 Subject: [PATCH] Log when BME sensor is not found during setup & when spawning sensor background task --- server.py | 5 ++++- source/brewSensor.py | 25 ++++++++++++++++--------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/server.py b/server.py index 6047d39..21b5d0b 100644 --- a/server.py +++ b/server.py @@ -22,7 +22,10 @@ if isItInArgv('-d') or isItInArgv('--daemon'): brewCamera.spawnBackgroundCapture() for sensor in sensors: - sensor.spawnBackgroundSensorLog() + try: + sensor.spawnBackgroundSensorLog() + except Error as error: + print('Error while spawning sensor background task:', error) def sensorTemp(location): sensor = BrewSensor.getSensorByItsLocation(sensors, location) diff --git a/source/brewSensor.py b/source/brewSensor.py index 649f3d0..9fc45bb 100644 --- a/source/brewSensor.py +++ b/source/brewSensor.py @@ -79,20 +79,27 @@ class BME680Sensor(BrewSensor): def __init__(self, location, interval): super().__init__(location, interval) - self.sensor = bme680.BME680() - self.sensor.set_humidity_oversample(bme680.OS_2X) self.setupSensors() self.lastSensorRead = time.time() def setupSensors(self): - self.sensor.set_pressure_oversample(bme680.OS_4X) - self.sensor.set_temperature_oversample(bme680.OS_8X) - self.sensor.set_filter(bme680.FILTER_SIZE_3) + try: + self.sensor = bme680.BME680() + self.sensor.set_humidity_oversample(bme680.OS_2X) + self.sensor.set_pressure_oversample(bme680.OS_4X) + self.sensor.set_temperature_oversample(bme680.OS_8X) + self.sensor.set_filter(bme680.FILTER_SIZE_3) - self.sensor.set_gas_status(bme680.ENABLE_GAS_MEAS) - self.sensor.set_gas_heater_temperature(320) - self.sensor.set_gas_heater_duration(150) - self.sensor.select_gas_heater_profile(0) + self.sensor.set_gas_status(bme680.ENABLE_GAS_MEAS) + self.sensor.set_gas_heater_temperature(320) + self.sensor.set_gas_heater_duration(150) + self.sensor.select_gas_heater_profile(0) + except RuntimeError as error: + logger.error('Sensor not found!', es={ + 'location': self.location, + 'error': str(error), + 'exception': error.__class__.__name__ + }) def read(self): self.lastSensorRead = time.time()