NEWS
Zeit der letzten Aktualisierung
-
Hallo,
gibt es eine einfache Möglichkeit eine Funktion zu starten wenn die aktualisierung eines Wertes länger als Zeit X her ist. Also z.B. für 2 Stunden keine Temperatur aus dem Gefrierschrank, dann Gefrierschrank an.
-
var idTemperatur = '...'; var timer = null; function myFunction() { ... } on(idTemperatur, function() { // Triggern bei Wertänderung if(timer) clearTimeout(timer); // Stop timer bei jedem Trigger timer = setTimeout(myFunction, 7200000); // Aufruf von myFunction() nach 2 Stunden });
Welchen Sinn macht es, den Gefrierschrank einzuschalten, wenn die Temperatur 2 Stunden lang konstant bleibt ?
-
Hallo,
ich bin gerad unterwegs und kann es nicht fertig schreiben und testen. Ich würde bei Aktualisierung des Wertes einen Timer von zwei Stunden starten. Wenn der Wert wieder aktualisiert wird, wird der Timer neu gestartet. Sollte der Timer ablaufen, erfolgt eine Aktion.
Ungefähr so:
var timer = null; const idTrigger = "hm-rpc.0.TEMPERATURSENSOR.state"; // anpassen function zeitsteuerung() { if(timer) clearTimeout(timer); // Wenn Timer läuft, dann stoppen timer = setTimeout(function() { // neuen Timer starten timer = null; log('Seit 2 Stunden keine Aktualisierung von ' + idTrigger); // mach was zB Pushnachricht oder Gerät an // Ende mach was }, 2 * 60 * 60 * 1000); // 2 Stunden } on(id: idTrigger, change: "any", zeitsteuerung); // bei Aktualisierung des Sensors zeitsteuerung(); // bei Skriptstart
Gruß
Pix
EDIT: paul war wieder schneller :lol:
-
Ok danke. Ich dachte man könnte als was mit dem on Befehl und dem time stamp machen. Der Gefrierschrank läuft nur wenn PV Oder bhkw läuft oder wenn zu warm.