Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. "entprellen" eines States

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.5k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    994

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.3k

"entprellen" eines States

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
23 Beiträge 3 Kommentatoren 1.9k Aufrufe 2 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • P Offline
    P Offline
    passuff
    schrieb am zuletzt editiert von
    #9

    Sorry, mein Fehler. Funktioniert tadellos.

    Danke dafür!

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      passuff
      schrieb am zuletzt editiert von
      #10

      Ich bekomme im Schnitt alle 2-3 Tage eine "wieder erreichbar" Meldung. Laut Aufzeichnung kannn ich aber nicht erkennen, dass sich am PingStatus etwas geändert hat.
      Jemand eine Idee?

      Code:


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

      paul53P 1 Antwort Letzte Antwort
      0
      • P passuff

        Ich bekomme im Schnitt alle 2-3 Tage eine "wieder erreichbar" Meldung. Laut Aufzeichnung kannn ich aber nicht erkennen, dass sich am PingStatus etwas geändert hat.
        Jemand eine Idee?

        Code:


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

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von paul53
        #11

        @passuff sagte in "entprellen" eines States:

        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);

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

        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);
        

        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          passuff
          schrieb am zuletzt editiert von passuff
          #12

          @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);
          });

          paul53P 1 Antwort Letzte Antwort
          0
          • P 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);
            });

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #13

            @passuff sagte in "entprellen" eines States:

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

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

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            1 Antwort Letzte Antwort
            0
            • P Offline
              P Offline
              passuff
              schrieb am zuletzt editiert von
              #14

              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);
               });
              
              paul53P 1 Antwort Letzte Antwort
              0
              • P passuff

                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);
                 });
                
                paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von paul53
                #15

                @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);
                });
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                P 1 Antwort Letzte Antwort
                0
                • paul53P 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 Offline
                  P Offline
                  passuff
                  schrieb am zuletzt editiert von
                  #16

                  @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
                  
                  paul53P 1 Antwort Letzte Antwort
                  0
                  • P passuff

                    @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
                    
                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #17

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

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • P Offline
                      P Offline
                      passuff
                      schrieb am zuletzt editiert von
                      #18

                      Super, vielen Dank!

                      1 Antwort Letzte Antwort
                      0
                      • P Offline
                        P Offline
                        passuff
                        schrieb am zuletzt editiert von
                        #19

                        @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);
                        });
                        
                        paul53P 1 Antwort Letzte Antwort
                        0
                        • P passuff

                          @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);
                          });
                          
                          paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #20

                          @passuff
                          In Zeile 3 den Timer setzen

                          var timer = setTimeout(function() {}, 0);
                          

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • P Offline
                            P Offline
                            passuff
                            schrieb am zuletzt editiert von
                            #21

                            Das ging schnell. Danke!

                            paul53P 1 Antwort Letzte Antwort
                            0
                            • P passuff

                              Das ging schnell. Danke!

                              paul53P Offline
                              paul53P Offline
                              paul53
                              schrieb am zuletzt editiert von
                              #22

                              @passuff
                              Was macht das

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

                              in dem Skript ?

                              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                              P 1 Antwort Letzte Antwort
                              0
                              • paul53P paul53

                                @passuff
                                Was macht das

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

                                in dem Skript ?

                                P Offline
                                P Offline
                                passuff
                                schrieb am zuletzt editiert von
                                #23

                                @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 Antwort Letzte Antwort
                                0
                                Antworten
                                • In einem neuen Thema antworten
                                Anmelden zum Antworten
                                • Älteste zuerst
                                • Neuste zuerst
                                • Meiste Stimmen


                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                577

                                Online

                                32.6k

                                Benutzer

                                82.3k

                                Themen

                                1.3m

                                Beiträge
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                ioBroker Community 2014-2025
                                logo
                                • Anmelden

                                • Du hast noch kein Konto? Registrieren

                                • Anmelden oder registrieren, um zu suchen
                                • Erster Beitrag
                                  Letzter Beitrag
                                0
                                • Home
                                • Aktuell
                                • Tags
                                • Ungelesen 0
                                • Kategorien
                                • Unreplied
                                • Beliebt
                                • GitHub
                                • Docu
                                • Hilfe