From 5cd4e3839dbdc2147f8dbd0b1cc71e7a9e1922d0 Mon Sep 17 00:00:00 2001 From: Julian Date: Sat, 6 Jul 2024 18:03:24 +0200 Subject: [PATCH] Use only valid measurements for the moving average --- src/program.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/program.py b/src/program.py index 0e338cb..8ba5970 100644 --- a/src/program.py +++ b/src/program.py @@ -173,7 +173,6 @@ def measure(sensor): except RuntimeError: fails += 1 time.sleep(0.01) - #print(len(data), fails) if fails < (NUM_SAMPLES / 2): mid_count = NUM_SAMPLES // 2 start_index = (NUM_SAMPLES - mid_count) // 2 @@ -184,7 +183,6 @@ def measure(sensor): val = 0 else: val = 0 - #val = random.uniform(5.0, 40.0) return val def store_value(config, val, meas, lvl, date): @@ -394,8 +392,18 @@ if __name__ == '__main__': elif state == States.SHUTDOWN: shutdown(epd) else: - cl, cl_status = mavg_cl.add_value(measure(sensor_cl)) - ph, ph_status = mavg_cl.add_value(measure(sensor_ph)) + tmp = measure(sensor_cl) + if tmp != 0: + cl, cl_status = mavg_cl.add_value(tmp) + else: + cl = 0 + cl_status = False + tmp = measure(sensor_ph) + if tmp != 0: + ph, ph_status = mavg_ph.add_value(tmp) + else: + ph = 0 + ph_status = False clp = get_percent(cl_leer, cl_voll, cl) php = get_percent(ph_leer, ph_voll, ph) display_site_main(epd, clp, php)