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 passuff

      @paul53 sagte in "entprellen" eines States:

      Was soll das für Code sein ? Javascript ist es nicht.

      ja, da kannst du recht haben. Ich hatte es auch so wie du proiert, doch dann bekam ich einen Fehler beim compile:

      javascript.0 script.js.common.Sonstige.Überwachung_Rainyman_Kopieren compile failed:
       at script.js.common.Sonstige.Überwachung_Rainyman_Kopieren:8
      
      


      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);
      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;
      }, 5601000);
      });

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

        @passuff sagte in "entprellen" eines States:

        } else clearTimeout(timer);
        else clearTimeout(timer);
        

        Das zweite else ... muss raus.
        Bitte Jacascript-Code in Code tags posten !

        1 Reply Last reply Reply Quote 0
        • 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

                            537
                            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