Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. "Watchdog" fuer Sensoren in JS - "millis()" oderTimer gesucht

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    "Watchdog" fuer Sensoren in JS - "millis()" oderTimer gesucht

    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      klassisch Most Active last edited by

      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?

      1 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

        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
        });
        
        1 Reply Last reply Reply Quote 1
        • K
          klassisch Most Active last edited by

          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?

          1 Reply Last reply Reply Quote 0
          • paul53
            paul53 last edited by paul53

            @klassisch:

            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.

            1 Reply Last reply Reply Quote 0
            • K
              klassisch Most Active last edited by

              Vielen Dank, wieder was gelernt. Sehr hilfreich so ein Styleguide.

              Die ersten Watchdos laufen. auch dafür nochmals vielen Dank!

              1 Reply Last reply Reply Quote 0
              • K
                klassisch Most Active last edited by

                Der Vollständigkeit halber:
                der user @canetti2 hat diesen Watchdog modifiziert und mutlisensorfähig gemacht. Wer also wissen will, wie man mit minimalen Aufwand viele Sensoren mit gleicher Timeoutzeit überwachen kann findet dort eine Lösung.

                1 Reply Last reply Reply Quote 0
                • First post
                  Last post

                Support us

                ioBroker
                Community Adapters
                Donate

                616
                Online

                31.8k
                Users

                80.0k
                Topics

                1.3m
                Posts

                2
                6
                1248
                Loading More Posts
                • Oldest to Newest
                • Newest to Oldest
                • Most Votes
                Reply
                • Reply as topic
                Log in to reply
                Community
                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                The ioBroker Community 2014-2023
                logo