diff --git a/dashboard_client.service b/dashboard_client.service new file mode 100644 index 0000000..9e869ed --- /dev/null +++ b/dashboard_client.service @@ -0,0 +1,14 @@ +[Unit] +Description=PyLokid Dashboard Client +After=network.target + +[Service] +User=pi +Restart=always +Environment="MQTT_SERVER=mybroker.example.com" +Environment="MQTT_USER=myuser" +Environment="MQTT_PASSWORD=mypassword" +ExecStart=/usr/bin/python3 /opt/dashboard_client.py + +[Install] +WantedBy=multi-user.target diff --git a/library/lodur.py b/library/lodur.py index b1fd83b..2615135 100644 --- a/library/lodur.py +++ b/library/lodur.py @@ -68,14 +68,19 @@ class Lodur: # when PDF parsing fails, pdf_data is false. fill with tbd when this happens if pdf_data: - zh_fw_ausg = datetime.strptime( - pdf_data['ausgerueckt'], - '%H:%M', - ) - zh_am_schad = datetime.strptime( - pdf_data['anort'], - '%H:%M', - ) + try: + zh_fw_ausg = datetime.strptime( + pdf_data['ausgerueckt'], + '%H:%M', + ) + zh_am_schad = datetime.strptime( + pdf_data['anort'], + '%H:%M', + ) + except ValueError as err: + self.logger.error('[%s] Date parsing failed: %s', f_id, err) + zh_fw_ausg = datetime.now() + zh_am_schad = datetime.now() else: # Do nothing when no PDF data - we don't have anything to do then self.logger.error('[%s] No PDF data found - filling in dummy data', f_id)