Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Wertänderung im Zeitraum überwachen und Aktion ausführen

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    782

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

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

Wertänderung im Zeitraum überwachen und Aktion ausführen

Scheduled Pinned Locked Moved Skripten / Logik
10 Posts 3 Posters 1.1k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 0 Offline
    0 Offline
    0018
    wrote on last edited by
    #1

    Hallo zusammen,

    ich bin auf der Suche nach einer Lösung für mein Vorhaben.

    aktuell habe ich Verbindungsabrüche mit meinem WLAN AP.

    Zu Testzwecken probiere ich nun dieses Workaround. Ich pinge über den Adapter "ping" meinen Router über meinen WLAN AP an.

    Wenn diese Verbindung abbricht möchte ich gerne meinen WLAN AP über den TR-064 neustarten. Dieses soll aber nur durchgeführt werden wenn der Ping über den Zeitraum von 5 min auf false steht. Kommt der Ping innerhalb der Zeit wieder zurück, ist kein Reboot notwendig.

    Einzige Idee die ich hatte war über setTimeout zu gehen, allerdings wird dieser immer ausgeführt, auch wenn sich der Wert im Zeitraum wieder ändert.

    Zur Vereinfachung mein Testscript:

    var test = "hm-rega.0.6370"/*Testschalter*/;
    
    on(test, function (obj) {
    current_state = getState(state).val;
    if (current_state == "1") { 
        log ('Wert = true' );
        setTimeout(function() {
        log ('Timeout ausgeführt');
    }, 10000);
    }
    
    else if (current_state == "0") {
        log ("Werte = false");
    }
    });
    
    

    Kann mir jemand einen Tipp geben, wie es funktionieren könnte?

    Mfg

    Mfg
    0018

    1 Reply Last reply
    0
    • arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      wrote on last edited by
      #2

      badewannenprinzip

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      1 Reply Last reply
      0
      • paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by
        #3

        Versuche es mal so:

        var test = "hm-rega.0.6370"/*Testschalter*/;
        var timer = null;
        
        on(test, function (obj) {
           if (obj.state.val == "1") {
              log ('Wert = true' );
              timer = setTimeout(function() {
                 log ('Timeout ausgeführt');
              }, 10000);
           } else {
              log ("Wert = false");
              if (timer) clearTimeout(timer);
           }
        });
        
        

        Liefert die SV "Testschalter" wirklich eine Zeichenkette mit den Inhalten "0" und "1" ?

        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 Reply Last reply
        0
        • 0 Offline
          0 Offline
          0018
          wrote on last edited by
          #4

          @paul53:

          Liefert die SV "Testschalter" wirklich eine Zeichenkette mit den Inhalten "0" und "1" ? `

          Nein, Werte sind true und false.

          Woran kann erkennen um was es sich handelt und was liefert der ping-adapter?

          mfg

          Mfg
          0018

          1 Reply Last reply
          0
          • paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by
            #5

            @0018:

            Woran kann erkennen um was es sich handelt und was liefert der ping-adapter? `
            Man kann den Typ abfragen:

            log('SV Typ: ' + typeof getState("hm-rega.0.6370").val);
            

            @0018:

            Werte sind true und false `
            Dann ändert sich die Abfrage in Zeile 5:

               if (obj.state.val) {
            
            

            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 Reply Last reply
            0
            • 0 Offline
              0 Offline
              0018
              wrote on last edited by
              #6

              @paul53:

                 if (obj.state.val) {
              
              ```` `  
              

              Das bedeutet also beim Typ boolean wird es immer ausgeführt wenn der Wert auf true geht?

              Wie müsste es dann aussehen wenn es nur bei false starten soll?

              Und warum funktioniert es dann trotzdem mit der alten Variante?

              if (obj.state.val == "1") {
              
              

              Mfg
              0018

              1 Reply Last reply
              0
              • paul53P Offline
                paul53P Offline
                paul53
                wrote on last edited by
                #7

                @0018:

                Wie müsste es dann aussehen wenn es nur bei false starten soll? `

                   if (!obj.state.val) {
                

                oder

                   if (obj.state.val === false) {
                

                @0018:

                Und warum funktioniert es dann trotzdem mit der alten Variante?

                if (obj.state.val == "1") {
                ```` `  
                

                Keine Ahnung :? Ist es wirklich so ?

                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 Reply Last reply
                0
                • 0 Offline
                  0 Offline
                  0018
                  wrote on last edited by
                  #8

                  @paul53:

                  Keine Ahnung :? Ist es wirklich so ? `

                  laut meinem Versuch und dem Log dazu schon.

                  ! 1620_test1.png

                  Ich werde jetzt

                  if (obj.state.val === true) {
                  

                  verwenden, lässt sich leichter merken und ist auch nachhaltig leicht herbeizuführen. Kann dann auch leicht auf false umstellen, ohne nachlesen zu müssen.

                  Auf jeden Fall passt das Script soweit und funktioniert so wie es soll.

                  Danke + Mfg

                  Mfg
                  0018

                  1 Reply Last reply
                  0
                  • paul53P Offline
                    paul53P Offline
                    paul53
                    wrote on last edited by
                    #9

                    @0018:

                    Und warum funktioniert es dann trotzdem mit der alten Variante? `
                    Javascript nimmt eine implizite Typwandlung vor:

                    "0" bzw. 0 –> false

                    "1" bzw. 1 --> true

                    Bei der Verwendung von === muss der Typ dagegen übereinstimmen.

                    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 Reply Last reply
                    0
                    • 0 Offline
                      0 Offline
                      0018
                      wrote on last edited by
                      #10

                      OK, danke für die Erklärung. Dann verwende ich jetzt true, dann ist es auch gleich dem state.

                      Mfg
                      0018

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      413

                      Online

                      32.8k

                      Users

                      82.7k

                      Topics

                      1.3m

                      Posts
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Login

                      • Don't have an account? Register

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Home
                      • Recent
                      • Tags
                      • Unread 0
                      • Categories
                      • Unreplied
                      • Popular
                      • GitHub
                      • Docu
                      • Hilfe