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
    993

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

                            339

                            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