Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly: Trigger - Ausschalten, aber keine Ausschaltverzögerung

    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

    Blockly: Trigger - Ausschalten, aber keine Ausschaltverzögerung

    This topic has been deleted. Only users with topic management privileges can see it.
    • AlCalzone
      AlCalzone Developer last edited by

      Ich vermute die Steckdose sendet regelmäßig Statusupdates, während sie angeschaltet ist (alle 5 Minuten?). Jedes dieser Updates startet einen weiteren Trigger, der 60 Min später die Steckdose ausschaltet.

      Du solltest deinen Trigger ändern, dass er

      1. nur auf anerkannt = wahr reagiert (also wenn die Steckdose wirklich an ist und nicht wenn der Befehl kam)

      2. nur reagiert, wenn der Wert sich geändert hat (also beim Umschalten von aus zu an) und wahr ist.

      Wie genau 2. in Blockly am einfachsten geht, weiß ich gerade nicht. Eventuell gibts nen erweiterten Trigger-Block.

      1 Reply Last reply Reply Quote 0
      • W
        wollik last edited by

        @AlCalzone:

        Ich vermute die Steckdose sendet regelmäßig Statusupdates, während sie angeschaltet ist (alle 5 Minuten?). Jedes dieser Updates startet einen weiteren Trigger, der 60 Min später die Steckdose ausschaltet. `

        Ne, dieser "Lookup" geschieht immer alle 5 Minuten.

        Habe mal das SONOFF Logfile angehangen:

        • Lookup zu jeder 2:21 und 7:21 Minute (gelegentlich plus 1 Sekunde)

        • einmal Licht anschalten um 09:49:21

        • nach 10 Minuten wird es durch den Trigger 2x ausgeschaltet um 09:59:21

        • danach kommen in den folgenden 10 Minuten zu jedem Lookup weiterhin ein OFF Befehl

        • 20 Minuten nach dem Anschalten kommt mit dem Lookup um 10:12:23 kein OFF Befehl mehr

        09:42:21 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 09:42:21","Uptime":17,"Vcc":3.469,"POWER":"OFF","Wifi":{"AP":1,"SSId":"xxx","RSSI":100,"APMac":"80:2A::::"}}
        09:47:21 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 09:47:21","Uptime":17,"Vcc":3.469,"POWER":"OFF","Wifi":{"AP":1,"SSId":"xxx","RSSI":98,"APMac":"80:2A::::"}}
        
        09:49:21 MQT: stat/sonoff/RESULT = {"POWER":"ON"}
        09:49:21 MQT: stat/sonoff/POWER = ON
        
        09:52:22 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 09:52:22","Uptime":17,"Vcc":3.466,"POWER":"ON","Wifi":{"AP":1,"SSId":"xxx","RSSI":100,"APMac":"80:2A::::"}}
        09:57:22 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 09:57:22","Uptime":17,"Vcc":3.471,"POWER":"ON","Wifi":{"AP":1,"SSId":"xxx","RSSI":100,"APMac":"80:2A::::"}}
        
        09:59:21 MQT: stat/sonoff/RESULT = {"POWER":"OFF"}
        09:59:21 MQT: stat/sonoff/POWER = OFF
        09:59:21 MQT: stat/sonoff/RESULT = {"POWER":"OFF"}
        09:59:21 MQT: stat/sonoff/POWER = OFF
        
        10:02:00 MQT: tele/sonoff/UPTIME = {"Time":"2018.05.25 10:02:00","Uptime":18}
        10:02:23 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 10:02:23","Uptime":18,"Vcc":3.468,"POWER":"OFF","Wifi":{"AP":1,"SSId":"xxx","RSSI":98,"APMac":"80:2A::::"}}
        10:02:23 MQT: stat/sonoff/RESULT = {"POWER":"OFF"}
        10:02:23 MQT: stat/sonoff/POWER = OFF
        10:07:23 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 10:07:23","Uptime":18,"Vcc":3.466,"POWER":"OFF","Wifi":{"AP":1,"SSId":"xxx","RSSI":92,"APMac":"80:2A::::"}}
        10:07:23 MQT: stat/sonoff/RESULT = {"POWER":"OFF"}
        10:07:23 MQT: stat/sonoff/POWER = OFF
        10:12:23 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 10:12:23","Uptime":18,"Vcc":3.468,"POWER":"OFF","Wifi":{"AP":1,"SSId":"xxx","RSSI":96,"APMac":"80:2A::::"}}
        10:17:23 MQT: tele/sonoff/STATE = {"Time":"2018.05.25 10:17:23","Uptime":18,"Vcc":3.468,"POWER":"OFF","Wifi":{"AP":1,"SSId":"xxx","RSSI":96,"APMac":"80:2A::::"}}
        
        

        Deine Tipps werde ich nachher zuhause testen. Danke.

        1 Reply Last reply Reply Quote 0
        • AlCalzone
          AlCalzone Developer last edited by

          Dann hat dieser "Lookup" vermutlich eine Aktualisierung des States zur Folge, was meine Theorie bestätigt.

          1 Reply Last reply Reply Quote 0
          • W
            wollik last edited by

            @AlCalzone:

            Dann hat dieser "Lookup" vermutlich eine Aktualisierung des States zur Folge, was meine Theorie bestätigt. `

            Wenn ich Dich richtig verstehe, siehst Du einen Re-Trigger durch das Lookup. Nur, warum endet es dann nach der eingetragenen Verzögerung? Eigentlich müsste es sich dann unendlich wiederholen. Oder nicht?

            1 Reply Last reply Reply Quote 0
            • AlCalzone
              AlCalzone Developer last edited by

              Nein, du triggerst ja auf Power = wahr. Nach 60 Minuten wird abgeschaltet, d.h. ab da wird kein neuer Timeout erstellt. Dann werden allerdings noch die zuvor erstellten Timeouts ausgeführt, d.h. 11 oder 12x sollte alle 5 Minuten ein Abschaltbefehl kommen. Nach insgesamt 120 Minuten sind alle Timeouts fertig, d.h. dann bist du wieder im Ausgangszustand angekommen.

              1 Reply Last reply Reply Quote 0
              • W
                wollik last edited by

                @AlCalzone:

                …Dann werden allerdings noch die zuvor erstellten Timeouts ausgeführt, d.h. 11 oder 12x sollte alle 5 Minuten ein Abschaltbefehl kommen... `

                Puuuh, Du hast sowas von Recht :!:

                Mist, das habe ich nicht bedacht…

                Wie ändere ich meinen Trigger, dass er nur auf anerkannt = wahr reagiert? Zur Auswahl gibt es nur "egal", "Update" und "Befehl".

                1 Reply Last reply Reply Quote 0
                • AlCalzone
                  AlCalzone Developer last edited by

                  Das müsste "Update" (=Bestätigung vom Gerät) sein. Das wichtigste ist aber dass du nur auf Änderung Power = falsch => wahr triggerst.

                  Dürfte mit diesem Block

                  https://github.com/ioBroker/ioBroker.ja … ate-change

                  gehen und einer darin geschachtelten Abfrage ob der Wert true ist.

                  1 Reply Last reply Reply Quote 0
                  • W
                    wollik last edited by

                    @AlCalzone:

                    Das müsste "Update" (=Bestätigung vom Gerät) sein. Das wichtigste ist aber dass du nur auf Änderung Power = falsch => wahr triggerst. `

                    Allein das Ändern auf Update hat noch keine Änderung gebracht. Nun schaue ich mir Deinen github Link an. Wobei ich von Hand nach "Trigger on state change" suchen musste - der Link selber hat mich wo ganz anders auf die Seite gebracht 😉

                    1 Reply Last reply Reply Quote 0
                    • AlCalzone
                      AlCalzone Developer last edited by

                      @wollik:

                      Allein das Ändern auf Update hat noch keine Änderung gebracht. `

                      Richtig, das schließt nur einen einzigen Trigger aus, wenn du manuell der Steckdose befiehlst, anzugehen.

                      Wenn das dann mal läuft, kannst du dieses Problem auch lösen:
                      > Schön wäre auch ein "Nachtriggern", wenn in den 60 Minuten mal die Kameras aus- und wieder eingeschaltet wurden…
                      => Stichpunkt "löschen falls läuft"

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

                        Versuche mal anstelle "ist wahr" mit "ist größer als letztes" zu triggern.

                        1 Reply Last reply Reply Quote 0
                        • W
                          wollik last edited by

                          Hallo Ihr beiden.

                          Danke für den schnellen Support :!:

                          @paul53:

                          Versuche mal anstelle "ist wahr" mit "ist größer als letztes" zu triggern. `

                          @AlCalzone:

                          > Schön wäre auch ein "Nachtriggern", wenn in den 60 Minuten mal die Kameras aus- und wieder eingeschaltet wurden…
                          => Stichpunkt "löschen falls läuft" `

                          Habe nun beides eingebaut. Mal gucken, wie das Ergebnis gleich ausfällt…
                          5839_ausschalttrigger-blockly2.jpg

                          1. Update: "Update" führt weiterhin, das gar nicht mehr abgeschaltet wird. Habe wieder auf "egal" gestellt.

                          2. Update: Nun scheint es korrekt zu funktionieren. Danke 🙂

                          5839_ausschalttrigger-blockly3.jpg

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          597
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          3
                          12
                          2401
                          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