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 } });
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden