NEWS
Java Script scripte nach Neustart NICHT ausführen
-
Hallo
nach einer langen Nacht funktioniert Telegram jetzt mit allen Lampen, Temperatursensoren und Rollos.
Telegram adapter mit text2command.
Alles schön per custom keyboards implementiert.Jetzt habe ich aber das Problem, dass IOBroker beim morgentlichen Neustart einmal alle JS abfeuert und somit auch alle Lampen angehen.
Ich habe die Skript so aufgebaut:
Wenn man auf "Wohnzimmer" klickt:
WENN Wohnzimmer AUS, mache Lampe AN, SONST mache Lampe AUS.Wenn das Skript jetzt morgens durchgestartet wird, sind natürlich alle Lampen aus und somit werden alle AN geschaltet...(und somit sinkt der WAF auf 0 ) .
Hat jemand ne Idee wie ich die Initiale Ausführung unterbinden kann, bzw diese im Skript erkennen kann und vom regulären Aufruf trennen?
sendTo('telegram.0', { text: 'Bitte wähle eine Aktion', reply_markup: { keyboard: [ ['Zeige EG alle Lichter'], ['Wohnzimmer', get_light_group_icon("Wohnzimmer")], ['Esszimmer', get_light_group_icon("Esszimmer")], ['Flur', get_light_group_icon("Flur")], ['Zentrallicht', get_light_group_icon("Zentrallicht")], ['Küche', get_light_group_icon("Küche")], ...
var device_state = getState("hm-rpc.0.PEQ0595892.1.LEVEL").val; if (device_state == 0) { // wenn AUS dann AN setState("hm-rpc.0.PEQ0595892.1.LEVEL"/*HM-LC-Dim1T-DR PEQ0595892:1.LEVEL*/, 100); } else { // wenn AN dann AUS setState("hm-rpc.0.PEQ0595892.1.LEVEL"/*HM-LC-Dim1T-DR PEQ0595892:1.LEVEL*/, 0); }
Grüße
-
@Achim-Weis du solltest mal ein script posten - gibt besseren überblick für potenzielle helfer
ich nehme mal an, du arbeitest ohne trigger-blöcke - mit triggerblöcken hat man dieses verhalten nicht
beispiel mit und ohne triggerblöcke - rechts wird gestartet bei neustart - links wird nicht gestartet nach neustart
-
Die einfachste Lösung wird wohl sein, die uptime vom rpi2 Adapter abzufragen.
Dann wäre nur noch der Neustart des Adapters ein Problem, aber der scheint stabil zu laufen.if (getState("rpi2.0.uptime.uptime").val > 240){ // mach was }
-
Bis zu dem Tag wo etwas schief läuft und der Adapter alle paar Sekunden neugestartet wird. Aber das merkst du dann ja recht schnell.
Du könntest auch etwas mehr an Skripten posten, so das man die Funktionsweise erkennt und vielleicht einen Vorschlag hat.