From d805e778529fd9c28f0a24813121e55cb6c8f68a Mon Sep 17 00:00:00 2001 From: Marcin Szymanski Date: Tue, 21 Jul 2020 22:48:08 +0100 Subject: [PATCH 1/3] handle sensor errors --- src/logger.py | 45 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/src/logger.py b/src/logger.py index 9c12362..8d0f005 100644 --- a/src/logger.py +++ b/src/logger.py @@ -73,17 +73,40 @@ def __read_pms_continuously(self): def take_readings(self): - gas_data = gas.read_all() - readings = { - "proximity": ltr559.get_proximity(), - "lux": ltr559.get_lux(), - "temperature": self.bme280.get_temperature(), - "pressure": self.bme280.get_pressure(), - "humidity": self.bme280.get_humidity(), - "gas/oxidising": gas_data.oxidising, - "gas/reducing": gas_data.reducing, - "gas/nh3": gas_data.nh3, - } + readings = {} + + try: + readings["proximity"] = ltr559.get_proximity() + except OSError: + print("Error reading proximity sensor data") + + try: + readings["lux"] = ltr559.get_lux() + except OSError: + print("Error reading lux sensor data") + + try: + readings["temperature"] = self.bme280.get_temperature() + except OSError: + print("Error reading temperature sensor data") + + try: + readings["pressure"] = self.bme280.get_pressure() + except OSError: + print("Error reading pressure sensor data") + + try: + readings["humidity"] = self.bme280.get_humidity() + except OSError: + print("Error reading humidity sensor data") + + try: + gas_data = gas.read_all() + readings["gas/oxidising"] = gas_data.oxidising + readings["gas/reducing"] = gas_data.reducing + readings["gas/nh3"] = gas_data.nh3 + except OSError: + print("Error reading gas sensor data") readings.update(self.latest_pms_readings) From 9ecbe1458e229600e7c0f54630209d8f2d9e1b93 Mon Sep 17 00:00:00 2001 From: Marcin Szymanski Date: Wed, 29 Jul 2020 21:07:58 +0100 Subject: [PATCH 2/3] handle publishing errors --- src/logger.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/logger.py b/src/logger.py index 8d0f005..f1873e5 100644 --- a/src/logger.py +++ b/src/logger.py @@ -123,9 +123,12 @@ def update(self, publish_readings=True): if publish_readings: for topic in self.samples[0].keys(): - value_sum = sum([d[topic] for d in self.samples]) - value_avg = value_sum / len(self.samples) - self.publish(topic, value_avg) + try: + value_sum = sum([d[topic] for d in self.samples]) + value_avg = value_sum / len(self.samples) + self.publish(topic, value_avg) + except KeyError: + print(f"Error publishing data for {topic}") def destroy(self): From 808b4321e04a87e634f81e37bf041989dc035480 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20Szyma=C5=84ski?= Date: Mon, 29 Aug 2022 19:26:40 +0000 Subject: [PATCH 3/3] pin versions --- requirements.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/requirements.txt b/requirements.txt index e46cc15..4381ed5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,2 @@ -enviroplus -paho-mqtt +enviroplus==0.0.6 +paho-mqtt==1.6.1