Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Zeitplan Probleme

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Zeitplan Probleme

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      LaBamba @Codierknecht last edited by

      @codierknecht
      Danke, werde ich bei Gelegenheit mal umbauen.

      Codierknecht 1 Reply Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @LaBamba last edited by

        @labamba sagte in Zeitplan Probleme:

        Danke, werde ich bei Gelegenheit mal umbauen.

        Wenn das jetzt erstmal so funktioniert, weißt Du ja wie es geht.

        Wenn das auch beim Start des Script sofort starten soll, würde ich das in eine Funktion auslagern und diese dann beim Start des Script und im Intervall aufrufen.
        Also in etwa so:

        c93c13b7-2dd0-45cd-851b-ad3213e23ead-grafik.png
        So wird das 1x beim Start des Script und dann alle 17 Minuten ausgeführt. Durch die Funktion erspart man sich das doppelte Codieren (macht man grundsätzlich nicht und ist fehleranfällig).

        Noch kurz zum Unterschied zwischen Pause und Timeout:
        Eine Pause "wartet" bis zur Ausführung des nächsten Blocks.
        Die Timeouts werden quasi unmittelbar gestartet. Hier "wartet" nix. Stattdessen wird quasi intern ein Zeitgeber aktiviert, der den Code innerhalb des Timeout zur angegebenen Zeit ausführt.
        Weil die Timeouts unmittelbar gestartet werden, wird die 1 Minute auch nicht zu den 5 Minuten "addiert". Darum muss der zweite Timeout auch auf 6 Minuten gesetzt werden.

        Timeouts sollten theoretisch effizienter sein als Pausen.

        L 1 Reply Last reply Reply Quote 1
        • L
          LaBamba @Codierknecht last edited by LaBamba

          @codierknecht
          Ich bin jetzt mal dazugekommen deinen Vorschlag umzusetzen.
          Meine Frage ist geht es auch einfacher mit der Antwort über telegramm? Das macht das Skript ewig lange. Im Moment benötige ich es aber um einen Pumpenausfall zu registrieren und zu sehen ob das Skript sauber läuft.
          Zweitens möchte ich noch eine zweite Ebene für Nachts mit längeren Intervallen einführen (hier ist keine Photosyntese der Pflanzen). Das bekomme ich aber leider nicht hin.

          Codierknecht 1 Reply Last reply Reply Quote 0
          • Codierknecht
            Codierknecht Developer Most Active @LaBamba last edited by

            @labamba

            Bitte auch als Screenshot liefern.
            Ohne installierten Telegram-Adapter lässt sich das nicht importieren.

            L 1 Reply Last reply Reply Quote 0
            • L
              LaBamba @Codierknecht last edited by LaBamba

              @codierknecht

              Bildschirmfoto 2025-06-02 um 22.23.13.png

              Das ist meine letzte Version. Jedoch weiss ich nicht ob sie läuft!

              Kann sie hier nicht reinstellen da sie zu groß ist!

              L 1 Reply Last reply Reply Quote 0
              • L
                LaBamba @LaBamba last edited by

                @Codierknecht

                Mein altes Skript ist gut gelaufen. Jedoch habe ich es nicht hinbekommen die Tag /Nacht unterscheidung mit hineinzubekommen.

                Bildschirmfoto 2025-06-02 um 22.26.38.png

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

                  @labamba die falls-Abfrage zur Uhrzeit muss in das Intervall, nicht vor das Intervall.

                  Ansonsten betrifft es nur das starten des Intervalls und ist abhängig davon wann das Skript gestartet wird.

                  A.

                  L 2 Replies Last reply Reply Quote 0
                  • L
                    LaBamba @Asgothian last edited by LaBamba

                    @asgothian
                    Das habe ich auch schon versucht. Mein Problem ist dann aber, dass wenn es im Intervall steht die Fallunterscheitung zwischen Tagund Nacht mit unterschiedlichen Intervalllängen nicht funktioniert.

                    Codierknecht 1 Reply Last reply Reply Quote 0
                    • L
                      LaBamba @Asgothian last edited by LaBamba

                      @asgothian Bildschirmfoto 2025-06-02 um 22.45.15.png

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

                        @labamba auch so geht es nicht - die Entscheidung Tag oder Nacht findet nur zum skriptstart statt.

                        Vorschlag:

                        • eine variable ’toggle’, vordefinieren mit True.
                        • ein Zeitplan alle 17 Minuten.
                        • darin ein falls für Tag-Nacht Unterscheidung.
                        • bei Tag - jedes Mal Tag Skript ausführen.
                        • bei nacht: toggle=nicht toggle. Falls toggle -> Nacht Skript ausführen.

                        A.

                        L 1 Reply Last reply Reply Quote 0
                        • L
                          LaBamba @Asgothian last edited by

                          @asgothian
                          da kenne ich mich leider zu wenig aus!

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

                            @labamba
                            Prinzip:

                            Blockly_temp.JPG

                            1 Reply Last reply Reply Quote 0
                            • Codierknecht
                              Codierknecht Developer Most Active @LaBamba last edited by Codierknecht

                              @labamba
                              Wenn Nachtintervall bedeutet, dass nur jeder 2. Durchlauf nötig ist:

                              d96a6883-87f8-4a1a-bee6-39f5920d5760-grafik.png

                              Beim Start des Script wird die Variable "flag" auf false gesetzt.
                              Ist es Nacht, wird geprüft, ob sie true ist. Das ist beim ersten Durchlauf nach 17 Minuten nicht der Fall. Die Variable wechselt auf true.
                              Nach weiteren 17 Minuten ist sie dann true. Die Funktion ""hydroNachts" wird ausgeführt.
                              Die Variable wechselt wieder auf false und der Spaß beginnt von vorne.

                              Also ziemlich genau das was @Asgothian vorgeschlagen hat.

                              Alternative: Man prüft, ob die aktuelle Minute gerade oder ungerade ist. Funktioniert natürlich nur mit einem ungeraden Intervall.

                              66a83a70-00fd-4a59-9523-0a45943d8bef-grafik.png

                              L 2 Replies Last reply Reply Quote 0
                              • L
                                LaBamba @Codierknecht last edited by LaBamba

                                @codierknecht
                                @Asgothian
                                Erstmal danke, für das Skript. Ich werde jetzt mal versuchen es einzubinden.
                                Jedoch bin ich noch im Versuchsstadium bzgl. der nächtlichen Bewässerung. Folglich kann es sein, dass ich die Zeiten noch wegen Energieeinsparung usw. verlängern muss. Das ist dann Imit diesem Skript nicht möglich oder?
                                Wenn ich es richtig verstanden habe ist jetzt das Intervall am Tag 17 Minuten und in der Nacht 34 min. Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten?

                                Codierknecht paul53 2 Replies Last reply Reply Quote 0
                                • Codierknecht
                                  Codierknecht Developer Most Active @LaBamba last edited by Codierknecht

                                  @labamba sagte in Zeitplan Probleme:

                                  Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten?

                                  Dann müsste man statt mit 'nem einfachen Flag mit einer Zählvariablen arbeiten.
                                  Bei jedem Durchlaf hochzählen und wenn z.B. die 4 erreicht ist dann ausführen und Variable zurücksetzen.

                                  Oder aber, man setzt 2 Zeitpläne auf.
                                  Einer morgens, der ein "IntervallTags" z.B. alle 17 Minuten startet und "IntervallNachts" löscht.
                                  Und einer Abends, der ein "IntervallNachts" (z.B. alle 68 Minuten) startet und "IntervallTags" löscht.
                                  Das wäre insgesamt am variabelsten, da man dann nicht auf Vielfache von Intervall1 angewiesen ist.
                                  b70eb971-fda1-4daf-8d79-5eff1b865d53-grafik.png

                                  1 Reply Last reply Reply Quote 1
                                  • paul53
                                    paul53 @LaBamba last edited by

                                    @labamba sagte: Ist es z.B. möglich die nächtliche Bewässerung dann nur alle 4 Intervalle z.B. 4*17 min also 68 Minuten zu schalten?

                                    Dann nimm anstelle der Toggle-Variable eine Zählvariable und vergleiche sie zum Ausführen und Rücksetzen mit 4.

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      LaBamba @Codierknecht last edited by

                                      @codierknecht

                                      Ich habe es seit 1 1/2 Stunden laufen aber beim Skript passiert gar nichts. Ich überprüfe dies ja auch mit Telegramm. Vielleicht sehe ich meinen Fehler nicht.

                                      Bildschirmfoto 2025-06-03 um 23.56.28.png

                                      Das Blockly Skript ist leider zu lange um es hier reinzustellen.

                                      L 1 Reply Last reply Reply Quote 0
                                      • L
                                        LaBamba @LaBamba last edited by

                                        @Codierknecht

                                        Ich habe jetzt die Alternative eingesetzt.
                                        Bildschirmfoto 2025-06-04 um 00.27.00.png

                                        Bei stop zyklische Ausführung gibt es bei mir keine Wahlmöglichkeit (direkt unter Astro). Das ist nur möglich wenn ich stop einsetze! Ob es geht werde ich morgen Abend mal testen.

                                        Codierknecht 1 Reply Last reply Reply Quote 0
                                        • Codierknecht
                                          Codierknecht Developer Most Active @LaBamba last edited by Codierknecht

                                          @labamba sagte in Zeitplan Probleme:

                                          Bei stop zyklische Ausführung gibt es bei mir keine Wahlmöglichkeit

                                          Du musst ein Intervall nehmen (alle X Minuten) - keinen Timeout (in X Minuten)!

                                          L 1 Reply Last reply Reply Quote 0
                                          • L
                                            LaBamba @Codierknecht last edited by LaBamba

                                            @codierknecht
                                            Bildschirmfoto 2025-06-04 um 19.01.50.png

                                            Bei der zyklischen Ausführung kann ich aber nichts auswählen!
                                            Ich habe doch gar kein Timeout.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            950
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            5
                                            57
                                            1071
                                            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