Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (gelöst)(Frage) Funktion und Cron ?

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    (gelöst)(Frage) Funktion und Cron ?

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @Humidor last edited by

      @humidor sagte: ändert sich die Regelzeit, wird der aktuelle Cronjob gestoppt -> warum dann nochmal das Blockly setCycle?

      Damit der Cronjob mit der neuen Regelzeit gestartet wird.

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

        @paul53 hmm

        ich meine dieses Blockyl, warum steht es dort:
        Bildschirmfoto 2021-03-02 um 13.52.41.png

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

          @humidor sagte: warum steht es dort:

          Nach "stop Regelzyklus" läuft kein Cronjob mehr. Es muss mit diesem Funktionsaufruf ein neuer Cronjob gestartet werden.

          Fred Freund Humidor 2 Replies Last reply Reply Quote 0
          • Fred Freund
            Fred Freund @paul53 last edited by Fred Freund

            Bin erst ganz neu aber vielleicht hilft dieses Video.
            Trigger und Zeitsteuerung

            Haette da auch eine Frage die ich in meinem anderen Post auch stellte wo sind dieses Cron Jobs zu finden. (OS crontab??)

            Und wenn das script gestoppt wird sind alle definierten weg ?

            in dem Video wird bei 19:10 Minuten genau das behauptet.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Fred Freund last edited by

              @fred-freund sagte in (Frage) Funktion und Cron ?:

              Bin erst ganz neu aber vielleicht hilft dieses Video.
              Trigger und Zeitsteuerung

              Was hat das mit dem Thema hier zu tun?

              Und wieso soll Paul sich ein Video ansehen?

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

                @paul53 sagte in (Frage) Funktion und Cron ?:

                @humidor sagte: warum steht es dort:

                Nach "stop Regelzyklus" läuft kein Cronjob mehr. Es muss mit diesem Funktionsaufruf ein neuer Cronjob gestartet werden.

                dh. eine Funktion "setCycle" wird nur 1x aufgerufen? Nein, sonst würde der Trigger nicht funktionieren. Also wozu muss ich dann dieses 2. setCycle Blockly anfügen? Wenn doch nach dem gerade gelaufenen setCycle (inkl. Triggerabfrage), der neue Conjob ja initialisiert und gestartet wird. Ich verstehe es weiter nicht.

                @Homoran nana, ned so ruppig. Das Video sollte sicherlich mir helfen das Thema besser zu verstehen. Hab es noch nicht angesehen, werde ich aber, danke @Fred-Freund

                paul53 N 2 Replies Last reply Reply Quote 0
                • paul53
                  paul53 @Humidor last edited by

                  @humidor sagte: Ich verstehe es weiter nicht.

                  Dann schau das Video an. Vielleicht verstehst Du es dann?

                  Humidor 1 Reply Last reply Reply Quote 0
                  • N
                    Nordischerjung @Humidor last edited by Nordischerjung

                    @humidor

                    Der setCycle oben über dem Trigger ruft die Funktion setCycle auf und führt dann den darin liegenden Cronjob aus. Dieses bei Script START!
                    So, jetzt läuft das Script.
                    Würdest du hier kein Aufruf der Funktion haben, würde der Cronjob nicht laufen, erst wenn der Trigger auslöst!

                    Änderst du jetzt die Zeit, die im Cronjob laufen soll, reagiert der Trigger stoppt den Cronjob "Regelzyklus" und ruft danach die Funktion setCyle wieder auf, damit der Cronjob mit der "neuen" Zeit wieder läuft.

                    Jetzt verstanden?

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

                      @paul53 habs grad probiert, ja es braucht diesen 2. setCycle. Warum, ich hoffe es mal zu verstehen.

                      Wenn ich nun eine Bedingung einfügen möchte...
                      in der Regel soll das mit dem Regelzyklus ablaufen
                      wenn aber eine Bedingung eintrifft, soll solange der Regelzyklus auf 1s gesetzt werden, das mache ich dann im "setCycle" Blockly vorr.

                      1 Reply Last reply Reply Quote 0
                      • Humidor
                        Humidor @Nordischerjung last edited by Humidor

                        @nordischerjung sagte in (Frage) Funktion und Cron ?:

                        @humidor

                        Der setCycle oben über dem Trigger ruft die Funktion setCycle auf und führt dann den darin liegenden Cronjob aus. Dieses bei Script START!
                        So, jetzt läuft das Script.
                        Würdest du hier kein Aufruf der Funktion haben, würde der Cronjob nicht laufen, erst wenn der Trigger auslöst!

                        Änderst du jetzt die Zeit, die im Cronjob laufen soll, reagiert der Trigger stoppt den Cronjob "Regelzyklus" und ruft danach die Funktion setCyle wieder auf, damit der Cronjob mit der "neuen" Zeit wieder läuft.

                        Jetzt verstanden?

                        welches Script, das eigene oder das andere... nicht eindeutig geschrieben

                        brechen wir das mal runter:
                        Bildschirmfoto 2021-03-02 um 13.52.41.png

                        • setCyle - wird nicht zyklisch aufgerufen nur bei Script Start und startet 1x den "nach setCyle" Blockly, wodurch der Cronjob initialisiert wird und mit der Zykluszeit läuft
                          Bildschirmfoto 2021-03-02 um 13.27.41.png

                        • der Trigger (Systemtrigger) läuft zyklisch und erkennt eine Änderung an der Zykluszeit
                          Bildschirmfoto 2021-03-02 um 16.16.35.png
                          wird die Änderung erkannt, wird der eingetragene Cronjob gestoppt sprich gelöscht
                          dann braucht es einen erneuten Aufruf von "nach setCyle" mit der Funktion "setCyle"
                          der Cronjob wird wieder (inkl. kompletten Ablauf) mit der neuen Zykluszeit eingetragen.

                        OK, wenn ich nun eine weitere Abhängigkeit einbauen möchte:
                        Bildschirmfoto 2021-03-02 um 16.41.25.png
                        nachdem die Regelzeit somit nur mit einem Trigger gesetzt wird, kann das 1. setCycle deaktiviert werden, oder?

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

                          @humidor sagte: kann das 1. setCycle deaktiviert werden, oder?

                          Nur dann, wenn sich der Wert von "POWER" oft genug ändert, so dass kurze Zeit nach Skriptstart ein Cronjob gestartet wird.
                          Bei solchen Aufgabenstellungen würde ich nicht mit einem Cronjob, sondern mit Intervallen arbeiten.

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

                            @paul53 hab mir das Video angeschaut

                            mein Script schaut nun so aus:
                            Bildschirmfoto 2021-03-02 um 18.33.15.png
                            Power wird jede Sekunde aktualisiert, das reicht völlig zur Eintragung des Cronjobs.

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

                              @humidor sagte: mein Script schaut nun so aus:

                              Du vergleichst die falsche Variable; es muss die Variable Regelzeit verglichen werden.

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

                                @paul53 richtig, danke

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                754
                                Online

                                32.1k
                                Users

                                80.7k
                                Topics

                                1.3m
                                Posts

                                5
                                17
                                584
                                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