Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Node-Red
    5. Probleme mit Cron-Plus Jobs

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Probleme mit Cron-Plus Jobs

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ak68 last edited by

      Ich habe das Problem, dass Cron-.Jobs NICHT ausgelöst werden.
      Ein manuelles Anstoßen in Node-red ist möglich.

      Hier soll 1x tgl z.B. Strom_Bezug_Zaehler 1x tgl um 0:00 Uhr in eine Influx-DB geschrieben werden.

      5ba1d02b-d12f-46f7-ae99-aae73889788f-image.png

      Die Cron-Syntax lautet:

      04722d56-e90b-41f5-acda-46a2ace6abff-image.png

      Eigentlich sollte die Syntax korrekt sein- und die Zeiten werden im Job auch korrekt angezeigt:

      56e10539-d601-47d7-8391-b3edbcb80d27-image.png

      WO habe ich hier einen "Denkfehler" ?

      DANKE 🙂

      mickym Marc Berg 2 Replies Last reply Reply Quote 0
      • mickym
        mickym Most Active @ak68 last edited by mickym

        @ak68 Und woran siehst Du das es nicht funktioniert - hast Du debug Nodes dran gemacht.

        Ich habe hier übrigens einen fertigen Subflow oder hier gemacht, der was ähnliches macht. Ich würde nur alles in eine Cronplus Node stecken und über das topic verzweigen.

        A 1 Reply Last reply Reply Quote 0
        • A
          ak68 @mickym last edited by

          @mickym

          Das Influx-Archiv ist leer und wird aber bei einem manuellen Senden (Button Tagesimpuls) gefüllt 🙂

          mickym 1 Reply Last reply Reply Quote 0
          • mickym
            mickym Most Active @ak68 last edited by mickym

            @ak68 Wie gesagt macht debug Nodes mit dem gesamten Nachrichtenobjekt rein und lass es im iobroker Protokoll ausgeben (Systemkonsole)

            Du kannst ja auch mal alle Minuten eine Nachricht ausgeben lassen und dann siehst ja ob die cron Node funktioniert.

            A 1 Reply Last reply Reply Quote 0
            • A
              ak68 @mickym last edited by ak68

              @mickym

              ein Minutenimpuls funktioniert korrekt:

              95744fdc-73a7-41d7-bd1e-f900c68cd12f-image.png

              ´mal sehen was um 00:00 passiert 🙂

              1 Reply Last reply Reply Quote 0
              • A
                ak68 last edited by ak68

                @ak68
                Leider wurden die Daten wieder nicht in die Influx-DB geschrieben (trotz korrektem debug)

                da7535a4-3399-42be-bc36-c636765b160a-image.png

                Es taucht aber im log folgende Fehlermedlung auf, die evtl damit zu tum haben könnte:

                8707260b-242a-4d50-8ef5-ef6f08c7179d-image.png

                Wie und wo sollte der Context-Speicher definiert sein ?

                In den Cron-nodes ist dieser bei mir so definiert:

                cfcb4ec4-58e4-47a9-a767-4194c48b80b0-image.png

                außerdem:

                ce2b7630-a485-47f0-bbcf-373eac92c642-image.png

                Ist das korrekt ?

                mickym 2 Replies Last reply Reply Quote 0
                • Marc Berg
                  Marc Berg Most Active @ak68 last edited by

                  @ak68 sagte in Probleme mit Cron-Plus Jobs:

                  WO habe ich hier einen "Denkfehler" ?

                  Die Daten, die geschrieben werden sollen, hast du noch nicht gezeigt. Könnte es sein, dass um exakt 0:00 Uhr einfach noch keine Daten vorliegen?

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    ak68 @Marc Berg last edited by

                    @marc-berg sagte in Probleme mit Cron-Plus Jobs:

                    @ak68 sagte in Probleme mit Cron-Plus Jobs:

                    WO habe ich hier einen "Denkfehler" ?

                    Die Daten, die geschrieben werden sollen, hast du noch nicht gezeigt. Könnte es sein, dass um exakt 0:00 Uhr einfach noch keine Daten vorliegen?

                    Doch die Daten liegen vor (vgl. Thread oben mit Anzeige der Systemkonsole)
                    z.B. Strom_Bezug_Zähler oder Strom_Bezug_Heute

                    1 Reply Last reply Reply Quote 0
                    • mickym
                      mickym Most Active @ak68 last edited by mickym

                      @ak68 Jedenfalls siehst Du, dass es an den Cron Nodes erst mal nicht liegt und auch Werte ausgelesen werden.

                      Angeblich soll es zwar mit dem Adapter 5.2.0 nun einen Filekontext geben für die Kontextvariablen, aber ich habe das noch nie gesehen, dass man das irgendwo im Adapter einstellen kann. Dazu muss man nämlich die settings.js modifizieren:
                      a205b053-f265-4658-b6b0-463ba4c6ba90-image.png

                      Ich hatte da auch schon mal nachgefragt, aber keine Antwort bekommen:
                      https://forum.iobroker.net/topic/73812/nodered-adapter-5-2-0-permanent-kontext?_=1733226649427

                      Insofern gehe ich davon aus, dass es keinen Filekontext gibt.
                      Wenn Du settings.js richtig konfigurierst kannst Du nämlich sogar wählen, dann bekommst Du nämlich rechts ein zusätzliches Auswahlfeld.
                      Das geht aber mit dem NOdeRed Adapter nicht, sondern nur in der Standalone Version von NodeRed, da man im Adapter dem Anwender den Zugriff auf die settings.js verwehrt:

                      fdf7e2c1-ede8-4633-8463-2585203f64e9-image.png

                      Die 3 Optionen der Cron Node:

                      0c64a786-56c4-4f21-88c3-c460c2745f63-image.png

                      1. Standardmässig ist None eingestellt und es wird nichts gespeichert. Ich hab das bis jetzt immer so gelassen, weil den State einer Cron Node zu speichern, nur bei dynamischen Schedules, die Du über Nachrichten definierst einen Vorteil bring.
                      2. Wenn Du wie in Deinem Fall - local File System eingestellt hast, dann hast Du in deinem Datenverzeichnis ein cronplusdata Verzeichnis, wo die States in einer Datei gespeichert sind:
                        4421caab-ebca-45a2-95e7-b15c533bdcf1-image.png
                      3. Wenn im NodeContext gespeichert wird, dann ist der im iobroker Adapter immer im Memory - da ich wie gesagt, obwohl es als Feature in 5.2.0 steht keine Möglichkeit gefunden habe, den Kontext im Dateisystem geschweige den beides zu definieren. In der Standalone Version bzw. wenn man Zugriff auf die settings.js hat, kann man auch das Dateisystem für den Kontext als Standard angeben. Dann hättest Du hier einen Vorteil.
                        Sprich auch das geht Dir bei einem Neustart verloren. Ist aber nur für dynam. Schedules relevant und die kann man ja über eine Inject Node auch wieder initialisieren.

                      Wie gesagt, den Status der cronplus zwischen den Neustarts zu speichern, halte ich für überflüssig, wenn Du die Schedules innerhalb der Node konfigurierst. Insofern kannst Du auch den Standard auf None lassen.

                      Diese globale Kontext Node macht was ganz anderes. Damit kann man nur den globalen Kontext in einer Datei abspeichern. Ob das wieder eingelesen wird, weiß ich nicht.
                      https://flows.nodered.org/node/node-red-contrib-persistent-global-context
                      Jedenfalls wird ja nur der globale Kontext und kein Flow oder Node kontext gespeichert. Insofern finde ich die Node eher überflüssig.
                      3f1ce927-d35a-4703-af70-0e264ff85a0e-image.png
                      Diese Fehlermeldung scheint mir von dieser Node zu stammen
                      8febfcba-c715-4ca0-aa65-b1d6e46971ae-image.png
                      und ich würde die im iobroker Umfeld eh nicht nutzen. Ich gehe aber davon aus, dass Du einen gültigen Pfad zu einer Datei angeben musst.

                      Generell geht der Node-Red Adapter davon aus, dass Du keine Kontextdaten permanent speichern musst, da Du ja alle Daten in Datenpunkten in den Objekten im iobroker speichern kannst und bei Bedarf wieder einlesen kannst.

                      1 Reply Last reply Reply Quote 0
                      • mickym
                        mickym Most Active @ak68 last edited by mickym

                        @ak68 Du musst halt in Deinem Flow mit debug Nodes weiter gehen. Meine Vermutung liegt darin, dass in der Influx Db nichts geschrieben wird, warum auch immer. Mach eine Debug Node vor die letzte Node bevor du in Influx was speicherst und schau, ob die Daten DORT ankommen:

                        e464af65-fad1-4836-a620-f8d211f8a0d8-image.png

                        Fazit: An der cron-plus Node liegt es nicht, das siehst Du ja - Du musst halt weiter hinten im Flow suchen.

                        A 1 Reply Last reply Reply Quote 0
                        • mickym
                          mickym Most Active last edited by

                          So ich habe mir die Node angeschaut:

                          9f860b3d-19e0-4674-bad8-6f18a5cd7b9f-image.png

                          Wie vermutet, speichert die Node den globalen Kontext in einer Datei und lädt ihn auch wieder.

                          Das Ganze wird im Datenverzeichnis von NodeRed gespeichert:

                          7e738599-8cda-4f2e-a885-a54ed9b0aab9-image.png

                          Also im iobroker Umfeld kann man auf sowas verzichten.

                          1 Reply Last reply Reply Quote 0
                          • A
                            ak68 @mickym last edited by ak68

                            @mickym sagte in Probleme mit Cron-Plus Jobs:

                            @ak68 Du musst halt in Deinem Flow mit debug Nodes weiter gehen. Meine Vermutung liegt darin, dass in der Influx Db nichts geschrieben wird, warum auch immer. Mach eine Debug Node vor die letzte Node bevor du in Influx was speicherst und schau, ob die Daten DORT ankommen:

                            e464af65-fad1-4836-a620-f8d211f8a0d8-image.png

                            Fazit: An der cron-plus Node liegt es nicht, das siehst Du ja - Du musst halt weiter hinten im Flow suchen.

                            Danke für Deine Mühe

                            Der debug-node liegt schon VOR der Influx-DB, also hast Du wohl Recht, dass das Schreiben in die InfluxDB fehlschlägt.
                            ICH lösche noch einmal die DB und lege diese neu an um evtl. weiterzukommen 🙂

                            A 1 Reply Last reply Reply Quote 0
                            • A
                              ak68 @ak68 last edited by

                              @ak68

                              Nach Neuanlagen der Influx-Datenbanken werden jetzt die Daten korrekt in die DB übernommen 🙂

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

                              Support us

                              ioBroker
                              Community Adapters
                              Donate

                              707
                              Online

                              31.7k
                              Users

                              79.7k
                              Topics

                              1.3m
                              Posts

                              3
                              13
                              500
                              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