Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. CRON Regel wird ausgeführt obwohl Skript inaktiv

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    CRON Regel wird ausgeführt obwohl Skript inaktiv

    This topic has been deleted. Only users with topic management privileges can see it.
    • R
      romann.k @Thomas Braun last edited by

      @thomas-braun Zeigen wird schwer - das Ding ist gefühlt zwei Meter lang - aber du hast recht.

      Ich habe wenn das Skript aktiv ist eine Cron-Regel zu einer festen Zeit in der wiederum die Cron-Regel mit Dialog bzw. die Zufallszahlen generiert werden.

      Aber beide Trigger sind in dem inaktiven Skript und bisher hatte ich noch nie so ein verhalten.

      Thomas Braun 1 Reply Last reply Reply Quote 0
      • Thomas Braun
        Thomas Braun Most Active @romann.k last edited by

        @romann-k

        Das kann dir @paul53 vermutlich besser erklären, warum 'Trigger im Trigger' selten eine gute Idee ist.

        R 1 Reply Last reply Reply Quote 0
        • R
          romann.k @Thomas Braun last edited by

          @thomas-braun 5a9dc57a-b22d-42de-81f6-39882f031b5d-image.png

          So in etwa.

          Aber wie kann ich dann täglich den Cronjob mit Dialog sonst bespielen ohne einen weiteren Cronjob zu nutzen?

          paul53 1 Reply Last reply Reply Quote 0
          • paul53
            paul53 @romann.k last edited by

            @romann-k
            Bevor man einen Zeitplan innerhalb eines Triggers aktiviert, muss der laufende Zeitplan gestoppt werden.

            R 1 Reply Last reply Reply Quote 0
            • R
              romann.k @paul53 last edited by

              @paul53 Das meinte ich mit Zeigen wird schwer 😉

              Das wird als erstes in der Aktion ganz oben gemacht. Also die Simulation selbst läuft auch ohne Probleme solange sie aktiv ist. Nur nachdem das Skript deaktiviert wird laufen die Cron-Regeln die in der Aktion gesetzt wurden mit den letzten Werten weiter.

              4a27b0c0-204a-4022-8f12-bba52b9db0e8-image.png

              R 1 Reply Last reply Reply Quote 0
              • R
                romann.k @romann.k last edited by romann.k

                Also ich habs jetzt mal so gelöst, dass wenn die Anwesenheitssimulation auf false geht ich in den einzelnen Skripts allen Cron-Regeln über einen Trigger auf den Datenpunkt nochmal ein stop gebe und die Skripte dann mit einer Verzögerung von 5 Sek im "Masterskript" deaktivieren lasse.

                Da scheint jetzt so zu klappen wie ich mir das vorstelle.

                Aber merkwürdig ist das trotzdem. Zumal wie gesagt bis vor ein paar updates von javascript alles funktioniert hat.

                Danke trotzdem für euren input dazu!

                Thomas Braun 1 Reply Last reply Reply Quote 0
                • Thomas Braun
                  Thomas Braun Most Active @romann.k last edited by

                  @romann-k sagte in CRON Regel wird ausgeführt obwohl Skript inaktiv:

                  Zumal wie gesagt bis vor ein paar updates von javascript alles funktioniert hat.

                  Das ist möglich, tw. ändern sich Dinge und Code der zuvor zwar unsauber war aber durchgewunken wurde wird jetzt strenger bewertet.

                  R 1 Reply Last reply Reply Quote 0
                  • R
                    romann.k @Thomas Braun last edited by romann.k

                    @thomas-braun Aber ist es denn "sauber", dass Cron-Regeln in einem inaktiven Skript ausgeführt werden oder verstehe ich einfach die Logik dahinter nicht?

                    Thomas Braun 1 Reply Last reply Reply Quote 0
                    • Thomas Braun
                      Thomas Braun Most Active @romann.k last edited by

                      @romann-k

                      crons lauern im Hintergrund, die kannst du nicht einfach 'inaktivieren', indem das skript nicht durchlaufen wird.

                      R 1 Reply Last reply Reply Quote 0
                      • R
                        romann.k @Thomas Braun last edited by romann.k

                        @thomas-braun Also verstehe ich das richtig, dass diese Cron-Regeln mit Dialog garnicht durch Javascript ausgeführt werden sondern irgendwo im Hintergrund im System durchlaufen?

                        Gibt es irgendeine Möglichkeit aktive Crons zu sehen? Du meintest ja man kann Crons nicht einfach so deaktivieren. Wie sonst soll man das denn können? Gibt es irgendeinen Linux Befehl den man senden kann damit alle Cron Regeln gelöscht werden? Das wäre dann ja auch eine Möglichkeit das zu bereinigen.

                        Das mit dem stop vor dem Deaktivieren der Skripts hat es auch nicht gebracht und bestimmte Cronjobs sind trotz stop noch gelaufen. Ich habe den Pi jetzt einmal komplett rebootet und hoffe das es heute Abend nicht wieder eine Lichtershow gibt.

                        Aber ehrlich gesagt kommt mir das irgendwie wie ein Bug vor. Ich kann mir beim besten Willen nicht vorstellen, dass das so gedacht ist. Ich verlasse mich bei anderen Triggern ja auch darauf, dass die mit dem Skript auch komplett deaktiviert sind und nicht noch in bestimmten Fällen weiter laufen.

                        VG

                        paul53 Thomas Braun 2 Replies Last reply Reply Quote 0
                        • paul53
                          paul53 @romann.k last edited by

                          @romann-k sagte: Möglichkeit aktive Crons zu sehen?

                          getSchedules(true)

                          Habe ich selbst noch nicht verwendet.

                          R 1 Reply Last reply Reply Quote 0
                          • Thomas Braun
                            Thomas Braun Most Active @romann.k last edited by Thomas Braun

                            @romann-k

                            Die cronjob dürften an crond übergeben werden.

                            https://wiki.ubuntuusers.de/Cron/

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

                              @thomas-braun sagte: Die cronjob dürften an crond übergeben werden.

                              Das denke ich nicht. Der Javascript-Adapter verwendet das NPM-Modul node-schedule.

                              Thomas Braun 1 Reply Last reply Reply Quote 1
                              • Thomas Braun
                                Thomas Braun Most Active @paul53 last edited by

                                @paul53
                                Okay.

                                1 Reply Last reply Reply Quote 0
                                • R
                                  romann.k @paul53 last edited by romann.k

                                  @paul53 Also ich glaube so langsam verstehe ich es.

                                  Das heißt wenn ich vor dem Beenden des Skripts in dem die Simulation läuft diese JS-Funktion durchlaufen lasse,

                                  const list = getSchedules(false);
                                  // hier muss ´false´ rein, weil ich nur die Crons in diesem Blockly-Skript zurück haben möchte, richtig?
                                  list.forEach(schedule => console.log(JSON.stringify(schedule)));
                                  list.forEach(schedule => clearSchedule(schedule));
                                  

                                  dann kann ich sicher sein das alle noch laufenden Crons in dem Skript erfasst und beendet werden, richtig? (Ich weiss, die dritte Zeile müsste nicht)

                                  Ich bin ehrlich, ich bin eine Niete in Informatik und Programmierung und suche mir immer alles für einen bestimmten Anwendungsfall raus und hoffe das Beste 😂 Also seht mir nach wenn ich einen Moment länger brauche bis der Groschen fällt und Danke für die Hilfe bis hierher!

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

                                  Support us

                                  ioBroker
                                  Community Adapters
                                  Donate

                                  390
                                  Online

                                  32.0k
                                  Users

                                  80.4k
                                  Topics

                                  1.3m
                                  Posts

                                  3
                                  17
                                  644
                                  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