NEWS
Nur etwas einmal auslösen beim Neustart von iobroker
-
Hallo,
ich nutze ein paar Skripte, zB Gartenbewässerung, die mit setTimeout arbeiten. Es wird also etwas aktiviert, und nach dem timeout wird es wieder deaktiviert.
Dumm nur, wenn ich etwas bastle oder der Strom kurz ausfällt, dann kommt das Timeout nicht mehr und alles bleibt an (zB meine Gartenbewässerung läuft gerade für eine Stunde, ich mache ein iobroker update und etwas hakt => Neustart => Wasser bleibt die Nacht über an :lol:).
Kann ich irgendwie etwas machen, dass nur einmal beim Starten von iobroker prüft, ob etwas an ist und es dann ausschaltet?
Ich meine, ich hatte am Anfang immer irgendwtas primitives geskriptet und das lief dann immer nur genau einmal, nämlich beim Starten. Das sollte damals nicht so sein, aber jetzt brauche ich so etwas.
Danke für Anregungen!
-
Alles was Du in die Skripte irekt reinschreibst - also ohne einen trigger oder so - wird einmalig ausgeführt wenn das entsprechende Skript gestartet wird. Das müsste der korrekte Platz sein.
-
Aaah, perfekt, vielen Dank!
Klappt!
Habe jetzt im Skript nach dem Abschnitt der Variablendeklaration
folgendes eingebaut:
//############################################################# // Bewässerung zunächst ausschalten beim erstmaligen Skriptstart // um im Falle eines Reboots den zuvor laufenden Bewässerungstimer auszuschalten (Not-Aus), // da er nach Reboot den zuvor gesetzten Ausschalttrigger nicht mehr ausführen kann setState(idHaupthahn, false); setState(idHeckehatti, false); //#############################################################