Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. If changed then if true…

    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

    If changed then if true…

    This topic has been deleted. Only users with topic management privileges can see it.
    • 1
      150d last edited by

      Hallo,

      ich erstelle gerade einige Skripte, in denen ich auf bestimmte States reagieren will. Dabei habe ich jedesmal diese Logik als Trigger (Pseudocode):

      if (state) changed then
        if (state == TRUE) then
          doSomething
      
      

      In Blockly sind das zwei seperate Triggerblöcke nacheinander. Ziel ist, das ganze Skript erst auszuführen, wenn sich der State ändert, und die Aktion nur dann, wenn der State nach TRUE geändert wurde.

      Ist das so richtig? Muß diese zweistufige Prüfung sein, oder genügt es, das "if changed" wegzulassen und nur auf "==TRUE" zu prüfen? Das Skript soll "on event" ausgeführt werden, nicht als Cron-Job.

      MfG

      1 Reply Last reply Reply Quote 0
      • D
        danw last edited by

        on({id: "custom.0.objekt", val:true}, function (obj) {
        });
        
        

        Reagiert nur bei Aktualisierung auf true.

        1 Reply Last reply Reply Quote 0
        • 1
          150d last edited by

          Bestens, danke.

          MfG

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

            @danw:

            Reagiert nur bei Änderung auf true. `
            Wenn nur bei <u>Änderung</u> auf true getriggert werden soll, muss es so aussehen:

            on({id: "custom.0.objekt", change: 'ne', val: true}, function (obj) {
               ...
            });
            

            oder so:

            on("custom.0.objekt", function (obj) { // triggert bei Wertänderung
               if(obj.state.val) {
                  ...
               }
            });
            
            1 Reply Last reply Reply Quote 0
            • D
              danw last edited by

              @paul53:

              @danw:

              Reagiert nur bei Änderung auf true. `
              Wenn nur bei <u>Änderung</u> auf true getriggert werden soll, muss es so aussehen:

              on({id: "custom.0.objekt", change: 'ne', val: true}, function (obj) {
                 ...
              });
              

              oder so:

              on("custom.0.objekt", function (obj) { // triggert bei Wertänderung
                 if(obj.state.val) {
                    ...
                 }
              });
              ```` `  
              

              Mea culpa. Habs auf Aktualisierung geändert.

              1 Reply Last reply Reply Quote 0
              • 1
                150d last edited by

                @paul53:

                Wenn nur bei <u>Änderung</u> auf true getriggert werden soll, muss es so aussehen: `
                Schade, genau das war ja die Frage: Das heißt, es muß immer

                1. auf Änderung getriggert

                und dann erst

                2. auf State geprüft

                werden? Es braucht immer beide Abfragen, mit einer ist es mit Blockly (den Trigger-Block "changed-to-X" scheint es dort nicht zu geben) nicht zu machen?

                MfG

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

                  @150d:

                  Es braucht immer beide Abfragen, mit einer ist es mit Blockly (den Trigger-Block "changed-to-X" scheint es dort nicht zu geben) nicht zu machen? `
                  Blockly ist bei der Anzahl der Trigger-Bedingungen eingeschränkt. Mit der Tigger-Bedingung ist größer als letztes sollte es auch funktionieren.

                  1 Reply Last reply Reply Quote 0
                  • 1
                    150d last edited by

                    Ok, danke!

                    MfG

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    876
                    Online

                    31.8k
                    Users

                    79.9k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    397
                    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