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.6k

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

  • 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

    @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

                        533

                        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