From 72d1b3cd2a6ca6e7512d8a0ef1f4da534906f572 Mon Sep 17 00:00:00 2001 From: Fabio Manganiello Date: Thu, 1 Aug 2019 22:47:34 +0200 Subject: [PATCH] Filter out only selected sensors on the enviropHAT backend --- platypush/backend/sensor/envirophat.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/platypush/backend/sensor/envirophat.py b/platypush/backend/sensor/envirophat.py index 5e98b4483b..e261c9919e 100644 --- a/platypush/backend/sensor/envirophat.py +++ b/platypush/backend/sensor/envirophat.py @@ -15,6 +15,16 @@ class SensorEnvirophatBackend(SensorBackend): def __init__(self, temperature=True, pressure=True, altitude=True, luminosity=True, analog=True, accelerometer=True, magnetometer=True, qnh=1020, **kwargs): + """ + :param temperature: Enable temperature sensor polling + :param pressure: Enable pressure sensor polling + :param altitude: Enable altitude sensor polling + :param luminosity: Enable luminosity sensor polling + :param analog: Enable analog sensors polling + :param accelerometer: Enable accelerometer polling + :param magnetometer: Enable magnetometer polling + :param qnh: Base reference for your sea level pressure (for altitude sensor) + """ super().__init__(self, **kwargs) self.qnh = qnh @@ -30,7 +40,14 @@ class SensorEnvirophatBackend(SensorBackend): def get_measurement(self): plugin = get_plugin('gpio.sensor.envirophat') - return plugin.get_data(qnh=self.qnh).output + sensors = plugin.get_data(qnh=self.qnh).output + ret = { + sensors[sensor] + for sensor, enabled in self.enabled_sensors.items() + if enabled and sensor in sensors + } + + return ret # vim:sw=4:ts=4:et: