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.
    • Homoran
      Homoran Global Moderator Administrators @LaBamba last edited by Homoran

      @labamba sagte in Zeitplan Probleme:

      Das war in 3-4 min gemacht.

      im Gegensatz zum Cron */17 * * * * kommt die erste Aktion mit dem Intervall nicht beim Start, sondern erst nach 17 Minuten.
      Beim Cron wäre das 17/17 * * * *

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

        @labamba sagte in Zeitplan Probleme:

        Ich meinte das mit der Variablen.

        Auch das ist eigentlich selbsterklärend

        2eafe938-b2f4-4818-9771-2e35748ff35b-grafik.png

        Homoran L 2 Replies Last reply Reply Quote 1
        • Homoran
          Homoran Global Moderator Administrators @Codierknecht last edited by

          @codierknecht sagte in Zeitplan Probleme:

          Auch das ist eigentlich selbsterklärend

          @LaBamba
          setze temperatur... bekommst du wenn du die Variable temperatur unter Variablen anlegst ebenda

          1 Reply Last reply Reply Quote 1
          • 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
                                            • 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