NEWS
"Watchdog" fuer Sensoren in JS - "millis()" oderTimer gesucht
-
Als JS Neuling habe ich triviale Fragen:
Wie setzt man timer bzw. gibt es ein Äquvalent für millis() ?
Habe etwas Ärger mit meinem WLAN und dann sind manchmal (selten) einige ESP8266 nicht erreichbar.
Die senden aber normalerweise spätestens alle 10 Minuten Daten an ioBroker. Jetzt wuerde ich gerne einen Watchdog in JS erstellen, der mir ggf eine Mail schickt.
Deshalb die triviale Frage nach dem Aequivalent von millis(). Oder muss man auf Cron zurueckgreifen, wie in der schoenen http://www.iobroker.net/docu/?page_id=5385&lang=de angedeutet?
-
Für das Setzen von Timern (Verzögerung) gibt es in Javascript die Funktion https://wiki.selfhtml.org/wiki/JavaScript/Window/setTimeout. Mit der Funktion clearTimeout(timer) kann der Timer gestoppt werden. Ein Watchdog für einen Sensor könnte etwa so aussehen:
var timer = null; on({id: 'ID_des_Sensors'}, function() { // löst bei jeder Aktualisierung aus if(timer) clearTimeout(timer); // laufender Timer wird gestoppt timer = setTimeout(function() { // Neustart Timer sendTo('email', {...}); // Aktion, wenn Verzögerungszeit abgelaufen ist }, 20 * 60000); // 20 Minuten in ms }); -
Recht herzlichen Dank, lieber Paul, für die prima Anschubfinanzierung und den Verweis auf selfhtml, Unterkategorie JS.
Erste Test laufen.
P.S.: gibt es eigentlich feste Regeln oder best practices zur Verwendung von single quote vs. double quote wie z.B. single quotes bei Ids und double bei Strings?
-
gibt es eigentlich feste Regeln oder best practices zur Verwendung von single quote vs. double quote `
Hobbyquaker hatte mal einen https://github.com/hobbyquaker/javascript veröffentlicht. Danach sollten nur single quote für Strings verwendet werden.
-
Vielen Dank, wieder was gelernt. Sehr hilfreich so ein Styleguide.
Die ersten Watchdos laufen. auch dafür nochmals vielen Dank!
-
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