Loop with timer

This commit is contained in:
Ard Kuijpers
2020-06-03 22:25:18 +02:00
parent a6c00302d9
commit b5e00d1943
2 changed files with 28 additions and 10 deletions

22
app.py
View File

@@ -1,5 +1,6 @@
import os
import time
import threading
from dsmr_parser import telegram_specifications
from dsmr_parser.clients import SerialReader, SERIAL_SETTINGS_V2_2, SERIAL_SETTINGS_V4, SERIAL_SETTINGS_V5
@@ -38,19 +39,22 @@ def main():
spec = telegram_specifications.V5
device = Device_DSMR("dsmr", name="Digitale Slimme Meter")
serial_reader = SerialReader(cfg.dsmr_port, serial_setup, spec)
while True:
try:
telegram = next(serial_reader.read_as_object())
device.update(telegram)
logger.info(f"New telegram at {telegram.P1_MESSAGE_TIMESTAMP.value}")
time.sleep(cfg.dsmr_update_interval)
except SerialException as serial_exc:
logger.warning("Serial exception", exc_info=serial_exc)
def handle_next_telegram():
telegram = next(serial_reader.read_as_object())
device.update(telegram)
logger.info(f"New telegram at {telegram.P1_MESSAGE_TIMESTAMP.value}")
def startTimer():
threading.Timer(cfg.dsmr_update_interval, startTimer).start()
handle_next_telegram()
startTimer()
# for telegram in serial_reader.read_as_object():
# device.update(telegram)
if __name__ == "__main__":
main()

View File

@@ -36,3 +36,17 @@
2020-06-03 22:18:09,205 [INFO ] [__main__] New telegram at 2020-06-03 20:18:31+00:00
2020-06-03 22:18:25,468 [INFO ] [__main__] New telegram at 2020-06-03 20:18:47+00:00
2020-06-03 22:18:42,205 [INFO ] [__main__] New telegram at 2020-06-03 20:19:04+00:00
2020-06-03 22:23:28,312 [INFO ] [homie.mqtt.homie_mqtt_client] Using new MQTT client, number of instances 0
2020-06-03 22:23:28,326 [INFO ] [homie.mqtt.mqtt_base] MQTT set will homie/dsmr/$state, topic lost
2020-06-03 22:23:28,402 [INFO ] [homie.mqtt.paho_mqtt_client] Starting MQTT publish thread
2020-06-03 22:23:28,415 [INFO ] [homie.mqtt.paho_mqtt_client] Starting Asyincio looping forever
2020-06-03 22:23:28,436 [INFO ] [homie.device_base] Device Start Digitale Slimme Meter
2020-06-03 22:23:28,448 [INFO ] [homie.device_base] Device MQTT Connected state is True
2020-06-03 22:23:31,630 [INFO ] [__main__] New telegram at 2020-06-03 20:23:52+00:00
2020-06-03 22:23:45,224 [INFO ] [__main__] New telegram at 2020-06-03 20:24:07+00:00
2020-06-03 22:24:00,210 [INFO ] [__main__] New telegram at 2020-06-03 20:24:22+00:00
2020-06-03 22:24:15,230 [INFO ] [__main__] New telegram at 2020-06-03 20:24:37+00:00
2020-06-03 22:24:30,256 [INFO ] [__main__] New telegram at 2020-06-03 20:24:52+00:00
2020-06-03 22:24:45,213 [INFO ] [__main__] New telegram at 2020-06-03 20:25:07+00:00
2020-06-03 22:25:00,259 [INFO ] [__main__] New telegram at 2020-06-03 20:25:22+00:00
2020-06-03 22:25:15,289 [INFO ] [__main__] New telegram at 2020-06-03 20:25:37+00:00