2022-01-15 22:14:12 +01:00

39 lines
1.2 KiB
Python

import time
from . import hardware, helpers
class SensorReadout:
"""Overview class for (actual and potential) sensor sources"""
def __init__(self):
""""""
self.sensor_modules = { # we already call them, they are objects and not classes anymore
"temperature" : hardware.sensors.TemperatureModule(),
"humidity" : hardware.sensors.HumidityModule(),
"luminosity" : hardware.sensors.BrightnessModule(),
# more to come?
}
# self db_utils set externally
def start(self):
helpers.timer.RepeatedTimer(120, self.spread_measure)
def spread_measure(self):
measurements = dict((el,[]) for el in self.sensor_modules.keys())
# create an empty dict with a list for each readout-type
for _ in range(5): # number of measures to average out
for name in self.sensor_modules.keys():
measure = self.sensor_modules[name].readout()
measurements[name].append(measure)
time.sleep(3)
results = {}
for e in measurements.keys():
lst = measurements[e]
results[e] = sum(lst) / len(lst)
self.db_utils.sensor_log(**results)