Hallo zusammen,
ich habe mir mit einem Wemos D1 mini und einem BME280 ein mit Batterien betriebenes Aussenthermometer erstellt. Der Wemos sendet alle 15 Minuten die Daten und legt sich dann wieder schlafen.
Nun möchte ich mir eine Push-Nachricht senden lassen, wenn irgendwann keine Daten mehr gesendet werden, weil dann wahrscheinlich die Batterien verbraucht sind.
Ich habe einen Datenpunkt "AT1_status" erzeugt.
Nun ist mein Ansatz, dass wenn einer der Werte (z.B. die Temperatur) des BME280 aktualisiert wird, ich den Status auf 0 setzen lasse. Danach soll alle 1 Minute der Status um 1 erhöht werden. Sollte dann der Status irgendwann größer 15 sein, soll er eine Nachricht senden und den Intervall stoppen.
Hier mein Blockly:
Leider funktioniert mein Blockly nicht ganz, wie ich es dachte.
Hier der Log dazu:
2019-10-15 11:03:38.775 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] connected with secret 1571130218774_4463
2019-10-15 11:03:38.799 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] subscribes on "aussenthermometer/#" with regex /^aussenthermometer\..*/
2019-10-15 11:03:38.799 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] subscribes on "aussenthermometer/#" with regex /^mqtt\.0\.aussenthermometer\..*/
2019-10-15 11:03:38.799 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] publishOnSubscribe send all known states
2019-10-15 11:04:09.729 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] connection closed: disconnected
2019-10-15 11:04:42.639 - info: javascript.0 Start javascript script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status
2019-10-15 11:04:42.642 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: registered 1 subscription and 0 schedules
2019-10-15 11:04:52.356 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 0
2019-10-15 11:05:52.357 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 0
2019-10-15 11:06:52.357 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 1
2019-10-15 11:07:52.356 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 2
2019-10-15 11:08:52.357 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 3
2019-10-15 11:09:52.358 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 4
2019-10-15 11:10:52.358 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 5
2019-10-15 11:11:52.358 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 6
2019-10-15 11:12:52.358 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 7
2019-10-15 11:13:52.359 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 8
2019-10-15 11:14:29.219 - info: unifi.0 Starting UniFi-Controller query
2019-10-15 11:14:29.219 - info: unifi.0 update_interval = 1800
2019-10-15 11:14:29.219 - info: unifi.0 controller = 192.168.183.180:8443
2019-10-15 11:14:29.451 - info: unifi.0 getSitesStats: default
2019-10-15 11:14:29.462 - info: unifi.0 getSiteSysinfo: 1
2019-10-15 11:14:29.472 - info: unifi.0 getClientDevices: 11
2019-10-15 11:14:29.495 - info: unifi.0 getAccessDevices: 1
2019-10-15 11:14:52.359 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 9
2019-10-15 11:15:52.360 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 10
2019-10-15 11:16:52.361 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 11
2019-10-15 11:17:22.023 - info: info.0 Popup news was read...
2019-10-15 11:17:52.362 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 12
2019-10-15 11:18:13.178 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] connected with secret 1571131093177_6473
2019-10-15 11:18:13.193 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] subscribes on "aussenthermometer/#" with regex /^aussenthermometer\..*/
2019-10-15 11:18:13.193 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] subscribes on "aussenthermometer/#" with regex /^mqtt\.0\.aussenthermometer\..*/
2019-10-15 11:18:13.193 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] publishOnSubscribe send all known states
2019-10-15 11:18:13.990 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 13
2019-10-15 11:18:36.994 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 0
2019-10-15 11:18:39.391 - warn: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] Message 888 deleted after 11 retries
2019-10-15 11:18:44.132 - info: mqtt.0 Client [ESPClient_2C:F4:32:77:5A:28] connection closed: disconnected
2019-10-15 11:18:52.363 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 0
2019-10-15 11:19:13.991 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 1
2019-10-15 11:19:36.996 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 2
2019-10-15 11:19:52.364 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 3
2019-10-15 11:20:13.991 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 4
2019-10-15 11:20:36.996 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 5
2019-10-15 11:20:52.364 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 6
2019-10-15 11:21:13.991 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 7
2019-10-15 11:21:36.998 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 8
2019-10-15 11:21:52.364 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 9
2019-10-15 11:22:13.991 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 10
2019-10-15 11:22:36.998 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 11
2019-10-15 11:22:52.364 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 12
2019-10-15 11:23:13.992 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 13
2019-10-15 11:23:36.999 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 14
2019-10-15 11:23:52.364 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 15
2019-10-15 11:24:13.992 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 16
2019-10-15 11:24:14.000 - info: pushover.0 Send pushover notification: {"message":"Aussenthermometer Batterie leer!","title":"ioBroker","priority":"0"}
2019-10-15 11:24:52.365 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 17
2019-10-15 11:24:52.369 - info: pushover.0 Send pushover notification: {"message":"Aussenthermometer Batterie leer!","title":"ioBroker","priority":"0"}
2019-10-15 11:25:13.993 - info: javascript.0 script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status: 18
2019-10-15 11:25:13.997 - info: pushover.0 Send pushover notification: {"message":"Aussenthermometer Batterie leer!","title":"ioBroker","priority":"0"}
2019-10-15 11:25:24.838 - info: javascript.0 Stop script script.js.common.Pushover_Benachrichtigungen.Aussenthermometer_Status
Ich hab das Script gestartet, als Daten reinkamen. Ich verstehe nicht warum das Script nach einer Minute ein zweites Mal die Info mit 0 meldet? Sollte da nicht schon eine 1 im Status sein?
Danach fuktioniert das Script wie es gedacht war, jede Minute erhöht es den Status um 1. Als aber erneut Daten ankommen, kommt das Script augenscheinlich durcheinander. Zumindest kann ich mir dieses Verhalten nicht erklären.
Zum Schluß die letzte Frage, die ich mir stelle. Warum stoppt das Script den Intervall nicht? Was mache ich da falsch bzw. was muß ich anders machen?
Ich hoffe ihr könnt mir helfen.
Gruß Andreas