Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. "entprellen" eines States

    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

    "entprellen" eines States

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      passuff last edited by

      Sorry, da komme ich nicht weiter:

      const idPing = "ping.0.IoBroker-VM-Debian.192_168_178_50"/*Rainyman*/;
       
      var timer = null;
       
      on({id: idPing, val: true}, function() {
          if(!timer) {
          sendTo('pushover.0', 'Rainyman 192.168.178.50 wieder erreichbar');
          setState("CalcVal.0.Szenen.Dachfensterautomatik"/Dachfensterautomatik/, true);
          console.log('Rainyman 192.168.178.50 wieder erreichbar');
      } else clearTimeout(timer);
             timer = setTimeout(function() {
             sendTo('pushover.0', 'Fehler: Rainyman 192.168.178.50 nicht erreichbar');
             setState("CalcVal.0.Szenen.Dachfensterautomatik"/*Dachfensterautomatik*/, false);
             setState("hm-rpc.0.OEQ1301523.1.LEVEL"/*HM-LC-Bl1PBU-FM OEQ1301523:1.LEVEL*/, 0);
             //console.log('Fehler: Rainyman 192.168.178.50 nicht erreichbar');
             timer = null;
          }, 5*60*1000);
       });
      
      paul53 1 Reply Last reply Reply Quote 0
      • paul53
        paul53 @passuff last edited by paul53

        @passuff
        Funktioniert es so nicht ? Sollte eigentlich. Damit die Struktur zu erkennen ist:

        const idPing = "ping.0.IoBroker-VM-Debian.192_168_178_50"/*Rainyman*/;
         
        var timer = null;
         
        on({id: idPing, val: true}, function() {
           if(!timer) {
               sendTo('pushover.0', 'Rainyman 192.168.178.50 wieder erreichbar');
               setState("CalcVal.0.Szenen.Dachfensterautomatik"/*Dachfensterautomatik*/, true);
               console.log('Rainyman 192.168.178.50 wieder erreichbar');
           } else clearTimeout(timer);
           timer = setTimeout(function() {
               sendTo('pushover.0', 'Fehler: Rainyman 192.168.178.50 nicht erreichbar');
               setState("CalcVal.0.Szenen.Dachfensterautomatik"/*Dachfensterautomatik*/, false);
               setState("hm-rpc.0.OEQ1301523.1.LEVEL"/*HM-LC-Bl1PBU-FM OEQ1301523:1.LEVEL*/, 0);
               //console.log('Fehler: Rainyman 192.168.178.50 nicht erreichbar');
               timer = null;
           }, 5*60*1000);
        });
        
        P 1 Reply Last reply Reply Quote 0
        • P
          passuff @paul53 last edited by

          @paul53

          Nein, funktioniert leider nicht:

          00:00:23.053	error	javascript.0 script.js.common.Sonstige.Überwachung_Rainyman_Kopieren compile failed:
           at script.js.common.Sonstige.Überwachung_Rainyman_Kopieren:8
          
          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @passuff last edited by paul53

            @passuff
            In Zeile 8 ist der Kommentar(Name) falsch eingebaut. Ich habe es oben korrigiert.

            1 Reply Last reply Reply Quote 0
            • P
              passuff last edited by

              Super, vielen Dank!

              1 Reply Last reply Reply Quote 0
              • P
                passuff last edited by

                @paul53 Bei neustart des Skripts wird einmalig die Bedingung " if(!timer)" wahr un somit eine pushover abgesetzt. Hast du eine Lösung dafür?

                const idPing = "ping.0.IoBroker-VM-Debian.192_168_178_50"/*Rainyman*/;
                 
                var timer = null;
                 
                on({id: idPing, val: true}, function() {
                   if(!timer) {
                       sendTo('pushover.0', 'Rainyman 192.168.178.50 wieder erreichbar');
                       console.log('Rainyman 192.168.178.50 wieder erreichbar');
                   } else clearTimeout(timer);
                   timer = setTimeout(function() {
                       sendTo('pushover.0', 'Fehler: Rainyman 192.168.178.50 nicht erreichbar');       setState("hm-rpc.0.OEQ1301523.1.LEVEL"/*HM-LC-Bl1PBU-FM OEQ1301523:1.LEVEL*/, 0);
                       //console.log('Fehler: Rainyman 192.168.178.50 nicht erreichbar');
                       timer = null;
                   }, 5*60*1000);
                });
                
                paul53 1 Reply Last reply Reply Quote 0
                • paul53
                  paul53 @passuff last edited by

                  @passuff
                  In Zeile 3 den Timer setzen

                  var timer = setTimeout(function() {}, 0);
                  
                  1 Reply Last reply Reply Quote 0
                  • P
                    passuff last edited by

                    Das ging schnell. Danke!

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

                      @passuff
                      Was macht das

                      setState("hm-rpc.0.OEQ1301523.1.LEVEL"/*HM-LC-Bl1PBU-FM OEQ1301523:1.LEVEL*/, 0);
                      

                      in dem Skript ?

                      P 1 Reply Last reply Reply Quote 0
                      • P
                        passuff @paul53 last edited by

                        @paul53 schloss das Dachfenster.
                        Gibt es jetzt aber nicht mehr. Es wird lediglich ein Logik DP geswitched welcher nun in einem externen Dachfensterlüftungsskript ausgewertet wird.

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

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        542
                        Online

                        31.9k
                        Users

                        80.1k
                        Topics

                        1.3m
                        Posts

                        3
                        23
                        1768
                        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