Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Einfache Timersteuerung mit rekursiver Prüfung

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Einfache Timersteuerung mit rekursiver Prüfung

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

      @m1r0o sagte in Einfache Timersteuerung mit rekursiver Prüfung:

      Hi,
      für meine Gartenbewässerung habe ich eine ganz einfach Timersteuerung gebaut, die soweit gut funktioniert. Ich weiß, dass es elegantere Möglichkeiten gibt, aber so finde ich es topp!

      Da ich den Ventilen noch nicht 100%ig vertraue, möchte ich sicher gehen, dass der "false"-Befehl so lange gesendet wird, bis das Ventil zu ist (="false").
      Nun meine Frage:
      Bildschirmfoto 2025-04-09 um 15.21.43.png

      So machte es mMn keinen Sinn, da der "wiederhole"-Befehl nicht auch nach 20 Min abgearbeitet wird.

      Nein, wird er nicht. der Wiederhole Befehl wird deinen ioBroker mit 100% Systemlast belasten bis das Ventil offen ist - nicht ideal.
      nebenbei - es fehlt der Haken bei 'löschen falls läuft'

      Was du willst:
      An Stelle des wiederhole bis kommt zuerst ein 'anhalten Intervall' , dann ein 'ausführen Intervall' alle 1 s. Darin dein Falls-Baustein, zusammen mit einem 'sonst', in dem steht 'anhalten intervall'

      Zusätzlich empfehle ich (muss aber nicht):
      An Stelle des steuere set mit falsch mit Verzögerung kommt:

      • ein anhalten timeout
      • ein timeout in 20 Min. Darin ein steuere set mit falsch sowie ein anhalten Intervall

      Oder wie könnte ich es lösen?
      Danke für Eure Tipps!

      A.

      M 1 Reply Last reply Reply Quote 1
      • M
        M1R0O @Asgothian last edited by

        @asgothian
        Wow, danke!
        DAs muss ich mir erstmal vor Augen führen.
        Dafür habe ich direkt Fragen:

        • was genau meint 'löschen falls läuft'?
        • was genau ist das 'anhalten Intervall'? (ausführen finde ich)
        Asgothian 1 Reply Last reply Reply Quote 0
        • Asgothian
          Asgothian Developer @M1R0O last edited by

          @m1r0o sagte in Einfache Timersteuerung mit rekursiver Prüfung:

          @asgothian
          Wow, danke!
          DAs muss ich mir erstmal vor Augen führen.
          Dafür habe ich direkt Fragen:

          • was genau meint 'löschen falls läuft'?

          Sollte das Skript ein zweites mal getriggert werden, dann wird - sofern der Haken gesetzt ist - die verzögerte Ausführung vom vorherigen mal (wenn sie noch aktiv ist) gelöscht bevor sie neu mit (in diesem Fall) 20 Minuten gesetzt wird

          • was genau ist das 'anhalten Intervall'? (ausführen finde ich)

          Siehe hier:
          Screenshot 2025-04-09 at 16.14.59.png

          M 1 Reply Last reply Reply Quote 1
          • M
            M1R0O @Asgothian last edited by M1R0O

            @asgothian
            Bildschirmfoto 2025-04-09 um 16.24.24.png
            so?

            Ich habe bisher nicht mit Intervallen und Timeouts gearbeitet, sorry.

            Asgothian 1 Reply Last reply Reply Quote 0
            • Asgothian
              Asgothian Developer @M1R0O last edited by

              @m1r0o

              fast:

              • das stop timeout im Timeout ist unnötig.
              • du hat für das Intervall den falschen Baustein zum abschalten genommen.
              M 1 Reply Last reply Reply Quote 1
              • M
                M1R0O @Asgothian last edited by

                @asgothian
                Bildschirmfoto 2025-04-09 um 16.34.30.png
                ?

                Asgothian 1 Reply Last reply Reply Quote 0
                • Asgothian
                  Asgothian Developer @M1R0O last edited by Asgothian

                  @m1r0o der stop timeout vor dem ausführen Intervall muss auch noch auf 'stop zyklische Ausführung Intervall' umgesetzt werden, sonst geht es nicht.

                  A.

                  M 1 Reply Last reply Reply Quote 1
                  • M
                    M1R0O @Asgothian last edited by

                    @asgothian
                    Bildschirmfoto 2025-04-09 um 16.39.00.png

                    Asgothian 1 Reply Last reply Reply Quote 0
                    • Asgothian
                      Asgothian Developer @M1R0O last edited by

                      @m1r0o

                      Nun bist du fast da:

                      • im falls Baustein fehlt eingesetzt das 'steuere set mit wahr' um das ganze nochmal anzusteuern

                      A

                      M 1 Reply Last reply Reply Quote 1
                      • M
                        M1R0O @Asgothian last edited by

                        @asgothian
                        Danke. Ist am Handy gerade nicht machbar. Mache ich später.
                        Zum Verständnis: Ich setzte „falls ≠ falsch“ steuere „falsch“

                        Korrekt?

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

                          @m1r0o sagte: Oder wie könnte ich es lösen?

                          De Prüfung darf erst nach den 20 Minuten erfolgen, weshalb man sie in ein Timeout packt. Die eigentliche Prüfung erfolgt schon in der Schleifen-Bedingung und muss dann nicht nochmal erfolgen. Um nur z.B. jede Sekunden zu prüfen, kann man eine Pause in die Schleife setzen. Ohne die Pause wird im ms-Takt gefeuert!! Außerdem sollte man nach einer bestimmten Anzahl der Wiederholungen abbrechen und nicht unendlich oft senden.

                          Blockly_temp.JPG

                          1 Reply Last reply Reply Quote 1
                          • M
                            M1R0O last edited by M1R0O

                            ICh habe es jetzt so umgesetzt und auch verstanden (hoffe ich 😉 )!!
                            Bildschirmfoto 2025-04-09 um 19.51.56.png
                            Danke euch beiden!

                            Ich werde mir einen Shelly in die Pumpensteuerung setzen, der die Pumpe im Notfall ausschaltet, anstatt mir eine Mail zu senden, falls es zu häufig passiert.

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

                              @m1r0o sagte: so umgesetzt und auch verstanden

                              Das Stoppen eines (nicht vorhandenen) Intervalls ist unnütz. Stattdessen muss die Schleife abgebrochen werden, wenn 50 Wiederholungen gelaufen sind.

                              Blockly_temp.JPG

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              978
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              3
                              14
                              308
                              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