NEWS
Script abbrechen wenn innerhalb einer Zeit Bedingung wieder erfüllt
-
Hi zusammen!
Ich hab n kleines Problem und stehe da gerade auf m Schlauch.
Und zwar prüfe ich mit den Ping-Adapter ob ein Arduino im Netz noch erreichbar ist.
Jetzt möchte ich falls er nicht mehr erreichbar ist mit einem Script eine Aktion ausführen.
Jetzt kann es aber vorkommen das der Ping-Adapter ihn kurz als abwesend Registriert und dann gleich wieder als Anwesend.
Jetzt möchte ich gern dass das Script erst dann ausgeführt wird wenn der Arduino länger als 5 Minuten nicht erreichbar ist.
Also so würde ich Ihn Triggern, bloß weiß ich jetzt nicht wie ich da nen 5 Minuten-Counter integriere und den ggf abbreche
on({id: 'ping.0.orangepiplus2e.192_168_178_60', change: 'any'}, function(obj) { if ((obj.newState.val === 'false') || (obj.newState.val === false) || (obj.newState.val === 0)) { setTimeout(function() { // Hier nach 5 Minuten "Nicht Erreichbarkeit" Aktion ausführen }, 36000); log('Homeduino nicht mehr erreichbar.'); } });
Kann mir da jemand von euch mal etwas helfen?
Gruß
Johnny
-
Das geht mit clearTimeout(timer).
vat timer = null; on({id: 'ping.0.orangepiplus2e.192_168_178_60', change: 'any'}, function(obj) { if(obj.state.val) { if(timer) clearTimeout(timer); } else { timer = setTimeout(function() { // Hier nach 5 Minuten "Nicht Erreichbarkeit" Aktion ausführen log('Homeduino nicht mehr erreichbar.'); }, 300000); // 5 Minuten } });