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!
-