Weiter zum Inhalt
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Hell
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dunkel
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. [gelöst] dynamischer Cronjob, wie?

NEWS

  • Neuer ioBroker-Blog online: Monatsrückblick März/April 2026
    BluefoxB
    Bluefox
    8
    1
    322

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    9
    1
    294

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    924

[gelöst] dynamischer Cronjob, wie?

Geplant Angeheftet Gesperrt Verschoben Blockly
blockly
28 Beiträge 4 Kommentatoren 2.4k Aufrufe 4 Beobachtet
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • metaxaM metaxa

    Ich habe tgl. Zugriff auf eine JSON Datei.

    {"tariff":"EPEXSPOTAT","unit":"ct/kWh","interval":15,"data":[{"date":"2023-12-28T00:00:00+01:00","value":1.219},{"date":"2023-12-28T00:15:00+01:00","value":1.219},{"date":"2023-12-28T00:30:00+01:00","value":1.219},{"date":"2023-12-28T00:45:00+01:00","value":1.219},{"date":"2023-12-28T01:00:00+01:00","value":1.153},{"date":"2023-12-28T01:15:00+01:00","value":1.153},{"date":"2023-12-28T01:30:00+01:00","value":1.153},
    

    Diese zerlege ich in Stunden und Werte:
    7e298386-9e4b-4921-bfaf-d04c32eb8b19-image.png

    Danach suche ich mir den günstigsten und den 2.günstigsten Wert raus und schreibe ihn weg.
    6f9caf5c-e242-41ad-9153-1c5ec1368f00-image.png

    Wie starte ich einen dynamischen Cronjob mit den ermittelten Werten? Damit?
    333adf25-dbe9-4582-84e9-e478239630d3-image.png

    Der Blocklybaustein passt mir nicht an den Anfang eines Scriptes 😵

    CodierknechtC Online
    CodierknechtC Online
    Codierknecht
    Developer Most Active
    schrieb am zuletzt editiert von
    #2

    @metaxa sagte in dynamischer Cronjob, wie?:

    Der Blocklybaustein passt mir nicht an den Anfang eines Scriptes

    Nimm den hier dazu und denk daran, vor dem Neu-Erzeugen den laufenden CRON zu beenden.

    dba9364b-516a-4912-bbcf-479a1c35e2c5-grafik.png

    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
    HmIP|ZigBee|Tasmota|Unifi
    Zabbix Certified Specialist
    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

    metaxaM 1 Antwort Letzte Antwort
    1
    • CodierknechtC Codierknecht

      @metaxa sagte in dynamischer Cronjob, wie?:

      Der Blocklybaustein passt mir nicht an den Anfang eines Scriptes

      Nimm den hier dazu und denk daran, vor dem Neu-Erzeugen den laufenden CRON zu beenden.

      dba9364b-516a-4912-bbcf-479a1c35e2c5-grafik.png

      metaxaM Offline
      metaxaM Offline
      metaxa
      schrieb am zuletzt editiert von metaxa
      #3

      @codierknecht sagte in dynamischer Cronjob, wie?:

      Nimm den hier
      Ok & danke, inzwischen komme ich weiter :-)

      Nur, wie sage ich dem Cronjob mache das morgen um die angegebene Uhrzeit!!
      2052291b-4652-4ab9-bc5d-d0bb79e2dcb4-image.png

      Danke für
      @codierknecht sagte in dynamischer Cronjob, wie?:

      vor dem Neu-Erzeugen den laufenden CRON zu beenden.

      hätte ich nicht am Plan gehabt.

      CodierknechtC 1 Antwort Letzte Antwort
      0
      • metaxaM metaxa

        @codierknecht sagte in dynamischer Cronjob, wie?:

        Nimm den hier
        Ok & danke, inzwischen komme ich weiter :-)

        Nur, wie sage ich dem Cronjob mache das morgen um die angegebene Uhrzeit!!
        2052291b-4652-4ab9-bc5d-d0bb79e2dcb4-image.png

        Danke für
        @codierknecht sagte in dynamischer Cronjob, wie?:

        vor dem Neu-Erzeugen den laufenden CRON zu beenden.

        hätte ich nicht am Plan gehabt.

        CodierknechtC Online
        CodierknechtC Online
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #4

        @metaxa sagte in dynamischer Cronjob, wie?:

        Nur, wie sage ich dem Cronjob mache das morgen um die angegebene Uhrzeit!!

        Indem Du das Datum von morgen bestimmst und mitgibst.
        Also aktuellen Zeitstempel ermitteln, 86.400 Sekunden hinzuaddieren und daraus dann Tag und Monat bestimmen.

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        metaxaM 1 Antwort Letzte Antwort
        0
        • CodierknechtC Codierknecht

          @metaxa sagte in dynamischer Cronjob, wie?:

          Nur, wie sage ich dem Cronjob mache das morgen um die angegebene Uhrzeit!!

          Indem Du das Datum von morgen bestimmst und mitgibst.
          Also aktuellen Zeitstempel ermitteln, 86.400 Sekunden hinzuaddieren und daraus dann Tag und Monat bestimmen.

          metaxaM Offline
          metaxaM Offline
          metaxa
          schrieb am zuletzt editiert von metaxa
          #5

          @codierknecht
          Mit Tag und Uhrzeit in dem Cronjob ist doch nur mit Stunde und Minute zu füllen.

          Ich meine, wie sage ich ihm morgen um diese Stunde und Minute?

          Stehe auf der Leitung .......

          acda6dc2-c860-4d80-8cd9-8f6bf4db50dc-image.png
          8ecbe910-a429-4db8-a59d-06349e606528-image.png
          1ed62074-44bc-4a7b-b376-ba2e1721c10d-image.png

          EDIT: So funktioniert es:
          47969adf-bb91-425c-82ae-14b903bcee0d-image.png

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • metaxaM metaxa

            @codierknecht
            Mit Tag und Uhrzeit in dem Cronjob ist doch nur mit Stunde und Minute zu füllen.

            Ich meine, wie sage ich ihm morgen um diese Stunde und Minute?

            Stehe auf der Leitung .......

            acda6dc2-c860-4d80-8cd9-8f6bf4db50dc-image.png
            8ecbe910-a429-4db8-a59d-06349e606528-image.png
            1ed62074-44bc-4a7b-b376-ba2e1721c10d-image.png

            EDIT: So funktioniert es:
            47969adf-bb91-425c-82ae-14b903bcee0d-image.png

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von
            #6

            @metaxa sagte in dynamischer Cronjob, wie?:

            EDIT: So funktioniert es:

            Oder eben Tag und Monat passend besetzen ;-)

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            metaxaM 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @metaxa sagte in dynamischer Cronjob, wie?:

              EDIT: So funktioniert es:

              Oder eben Tag und Monat passend besetzen ;-)

              metaxaM Offline
              metaxaM Offline
              metaxa
              schrieb am zuletzt editiert von metaxa
              #7

              @codierknecht Ich schnall es einfach nicht, bin scheinbar zu blöd für die richtigen Parameter

              Ich weiß "morgen"
              ich weiß "stunde"
              ich weiß "minute" (ist immer 0)

              2be583c5-6995-4257-8bca-e68aa0b96fe0-image.png

              19:31:21.558	error	javascript.0 (636) script.js.010_Testen.zu_bestimmten_uhrzeit_script_starten: schedule(cron=32 19 12 5): cannot create schedule
              
              CodierknechtC 1 Antwort Letzte Antwort
              0
              • metaxaM metaxa

                @codierknecht Ich schnall es einfach nicht, bin scheinbar zu blöd für die richtigen Parameter

                Ich weiß "morgen"
                ich weiß "stunde"
                ich weiß "minute" (ist immer 0)

                2be583c5-6995-4257-8bca-e68aa0b96fe0-image.png

                19:31:21.558	error	javascript.0 (636) script.js.010_Testen.zu_bestimmten_uhrzeit_script_starten: schedule(cron=32 19 12 5): cannot create schedule
                
                CodierknechtC Online
                CodierknechtC Online
                Codierknecht
                Developer Most Active
                schrieb am zuletzt editiert von Codierknecht
                #8

                @metaxa
                Beispiel: Morgen um 07:15 Uhr

                66f248db-66dc-40a7-ba66-3b96b61d11c3-image.png
                Mit "Wochentag" ist der Tag der Woche gemeint. Also "Montag", "Dienstag" usw.

                "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                HmIP|ZigBee|Tasmota|Unifi
                Zabbix Certified Specialist
                Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                metaxaM 1 Antwort Letzte Antwort
                1
                • CodierknechtC Codierknecht

                  @metaxa
                  Beispiel: Morgen um 07:15 Uhr

                  66f248db-66dc-40a7-ba66-3b96b61d11c3-image.png
                  Mit "Wochentag" ist der Tag der Woche gemeint. Also "Montag", "Dienstag" usw.

                  metaxaM Offline
                  metaxaM Offline
                  metaxa
                  schrieb am zuletzt editiert von
                  #9

                  @codierknecht Ganz lieben Dank! Jetzt gilt es noch das umzusetzen :-)
                  a83b7524-535b-47f4-8cc8-f3641414c8d7-image.png

                  metaxaM 1 Antwort Letzte Antwort
                  0
                  • metaxaM metaxa

                    @codierknecht Ganz lieben Dank! Jetzt gilt es noch das umzusetzen :-)
                    a83b7524-535b-47f4-8cc8-f3641414c8d7-image.png

                    metaxaM Offline
                    metaxaM Offline
                    metaxa
                    schrieb am zuletzt editiert von
                    #10

                    @Codierknecht und @Alle

                    • Darf/Kann ich einen 2. Cronjob innerhalb eines Cronjobs packen, der erst morgen startet?
                    • Werden einem Cronjob seine ToDo´s mitgegeben, oder sucht er beim Start sein Ursprungsscript und führt dann die dortigen Anweisungen durch?

                    073a1b90-5e51-437c-b67f-f8903d3115cf-image.png

                    LG

                    MartinPM AsgothianA 2 Antworten Letzte Antwort
                    0
                    • metaxaM metaxa

                      @Codierknecht und @Alle

                      • Darf/Kann ich einen 2. Cronjob innerhalb eines Cronjobs packen, der erst morgen startet?
                      • Werden einem Cronjob seine ToDo´s mitgegeben, oder sucht er beim Start sein Ursprungsscript und führt dann die dortigen Anweisungen durch?

                      073a1b90-5e51-437c-b67f-f8903d3115cf-image.png

                      LG

                      MartinPM Online
                      MartinPM Online
                      MartinP
                      schrieb am zuletzt editiert von MartinP
                      #11

                      @metaxa Wieso mit Cron Jobs, und nicht mit Timern?

                      Sind doch einmalige Ereignisse....

                      88cdef51-2e4d-4112-a919-3ef8ecc00250-grafik.png

                      Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                      Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                      Linux pve 6.17.9-1-pve
                      6 GByte RAM für den Container
                      Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                      Remote-Access über Wireguard der Fritzbox

                      metaxaM 1 Antwort Letzte Antwort
                      0
                      • MartinPM MartinP

                        @metaxa Wieso mit Cron Jobs, und nicht mit Timern?

                        Sind doch einmalige Ereignisse....

                        88cdef51-2e4d-4112-a919-3ef8ecc00250-grafik.png

                        metaxaM Offline
                        metaxaM Offline
                        metaxa
                        schrieb am zuletzt editiert von
                        #12

                        @martinp mir scheint ein Cron besser geeignet, da - ja ein einmaliges Ereignis - am nächsten Tag zu unterschiedlichen Zeiten starten soll.

                        Vor Timern habe ich immer etwas Respekt, die können falsch angewendet oder nicht richtig gestoppt ziemlichen Ärger verursachen. Obendrein müsste ich das Script deutlich um eine Berechnung des Timers erweitern. Um 17:01 hole ich mir die Werte, wann am nächsten Tag zur vollen Stunde etwas passieren soll.

                        MartinPM 1 Antwort Letzte Antwort
                        0
                        • metaxaM metaxa

                          @Codierknecht und @Alle

                          • Darf/Kann ich einen 2. Cronjob innerhalb eines Cronjobs packen, der erst morgen startet?
                          • Werden einem Cronjob seine ToDo´s mitgegeben, oder sucht er beim Start sein Ursprungsscript und führt dann die dortigen Anweisungen durch?

                          073a1b90-5e51-437c-b67f-f8903d3115cf-image.png

                          LG

                          AsgothianA Offline
                          AsgothianA Offline
                          Asgothian
                          Developer
                          schrieb am zuletzt editiert von
                          #13

                          @metaxa sagte in dynamischer Cronjob, wie?:

                          @Codierknecht und @Alle

                          • Darf/Kann ich einen 2. Cronjob innerhalb eines Cronjobs packen, der erst morgen startet?

                          Bedingt. In diesem Fall: Ja. Du stellst sicher das sich die Einträge nicht vermehren. Es kann allerdings passieren das der innere Cron-Job nicht zum Zuge kommt, wenn seine Ausführung "nach" dem nächsten Ausführen des äusseren Cron Jobs geplant ist.

                          • Werden einem Cronjob seine ToDo´s mitgegeben, oder sucht er beim Start sein Ursprungsscript und führt dann die dortigen Anweisungen durch?

                          Es werden immer die zum Zeitpunkt der Ausführung relevanten Werte genommen. Wenn du auf die Werte der Datenpunkte beim Erstellen des Cron-Jobs zugreifen willst musst du diese lesen und in lokale Variablen schreiben auf die der Cron-Job dann zugreift. Allerdings musst du aufpassen - änderst du diese Variablen im Skript bevor der Cron-Job zum Zuge kommt nimmt er die geänderten Werte.

                          Der Cron Job bekommt meines Wissens keinen eigenen Kontext mit eigenen Variablenspeichern.

                          073a1b90-5e51-437c-b67f-f8903d3115cf-image.png

                          LG

                          ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                          "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                          metaxaM 1 Antwort Letzte Antwort
                          1
                          • metaxaM metaxa

                            @martinp mir scheint ein Cron besser geeignet, da - ja ein einmaliges Ereignis - am nächsten Tag zu unterschiedlichen Zeiten starten soll.

                            Vor Timern habe ich immer etwas Respekt, die können falsch angewendet oder nicht richtig gestoppt ziemlichen Ärger verursachen. Obendrein müsste ich das Script deutlich um eine Berechnung des Timers erweitern. Um 17:01 hole ich mir die Werte, wann am nächsten Tag zur vollen Stunde etwas passieren soll.

                            MartinPM Online
                            MartinPM Online
                            MartinP
                            schrieb am zuletzt editiert von
                            #14

                            @metaxa Hier SOLLEN die Timer ja ausgeführt werden, im Falle von Timeout-Überwachungen für Ereignisse muss man natürlich im Gegensatz dazu darauf achten, den Timer zu entschärfen, wenn das überwachte Ereignis eingetreten ist ...

                            Die Herde von Cron-Jobs muss man ja auch hüten ;-)

                            Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                            Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                            Linux pve 6.17.9-1-pve
                            6 GByte RAM für den Container
                            Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                            Remote-Access über Wireguard der Fritzbox

                            1 Antwort Letzte Antwort
                            0
                            • AsgothianA Asgothian

                              @metaxa sagte in dynamischer Cronjob, wie?:

                              @Codierknecht und @Alle

                              • Darf/Kann ich einen 2. Cronjob innerhalb eines Cronjobs packen, der erst morgen startet?

                              Bedingt. In diesem Fall: Ja. Du stellst sicher das sich die Einträge nicht vermehren. Es kann allerdings passieren das der innere Cron-Job nicht zum Zuge kommt, wenn seine Ausführung "nach" dem nächsten Ausführen des äusseren Cron Jobs geplant ist.

                              • Werden einem Cronjob seine ToDo´s mitgegeben, oder sucht er beim Start sein Ursprungsscript und führt dann die dortigen Anweisungen durch?

                              Es werden immer die zum Zeitpunkt der Ausführung relevanten Werte genommen. Wenn du auf die Werte der Datenpunkte beim Erstellen des Cron-Jobs zugreifen willst musst du diese lesen und in lokale Variablen schreiben auf die der Cron-Job dann zugreift. Allerdings musst du aufpassen - änderst du diese Variablen im Skript bevor der Cron-Job zum Zuge kommt nimmt er die geänderten Werte.

                              Der Cron Job bekommt meines Wissens keinen eigenen Kontext mit eigenen Variablenspeichern.

                              073a1b90-5e51-437c-b67f-f8903d3115cf-image.png

                              LG

                              metaxaM Offline
                              metaxaM Offline
                              metaxa
                              schrieb am zuletzt editiert von
                              #15

                              @asgothian sagte in [gelöst] dynamischer Cronjob, wie?:

                              Es kann allerdings passieren das der innere Cron-Job nicht zum Zuge kommt, wenn seine Ausführung "nach" dem nächsten Ausführen des äusseren Cron Jobs geplant ist.

                              Danke, dass hatte ich nicht im Blickfeld. Da muss ich mir überlegen, wie ich das ggf. umgehen kann, wenngleich der Cronjob zimlich sicher vor der nächsten Scriptausführung um 17:00 startet. Da muss ich noch grübeln.

                              @asgothian sagte in [gelöst] dynamischer Cronjob, wie?:

                              Der Cron Job bekommt meines Wissens keinen eigenen Kontext mit eigenen Variablenspeichern.

                              Danke!

                              @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                              Hier SOLLEN die Timer ja ausgeführt werden

                              Ich fürchte ich verstehe dich nicht, was aber eher an meiner Unerfahrung mit Timern liegt und nicht an deinen Ausführungen.

                              MartinPM 1 Antwort Letzte Antwort
                              0
                              • metaxaM metaxa

                                @asgothian sagte in [gelöst] dynamischer Cronjob, wie?:

                                Es kann allerdings passieren das der innere Cron-Job nicht zum Zuge kommt, wenn seine Ausführung "nach" dem nächsten Ausführen des äusseren Cron Jobs geplant ist.

                                Danke, dass hatte ich nicht im Blickfeld. Da muss ich mir überlegen, wie ich das ggf. umgehen kann, wenngleich der Cronjob zimlich sicher vor der nächsten Scriptausführung um 17:00 startet. Da muss ich noch grübeln.

                                @asgothian sagte in [gelöst] dynamischer Cronjob, wie?:

                                Der Cron Job bekommt meines Wissens keinen eigenen Kontext mit eigenen Variablenspeichern.

                                Danke!

                                @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                Hier SOLLEN die Timer ja ausgeführt werden

                                Ich fürchte ich verstehe dich nicht, was aber eher an meiner Unerfahrung mit Timern liegt und nicht an deinen Ausführungen.

                                MartinPM Online
                                MartinPM Online
                                MartinP
                                schrieb am zuletzt editiert von
                                #16

                                @metaxa Wenn ich das richtig verstehe, holst Du Dir zwei Zeitpunkte für die kommenden 24 Stunden, wo der Strom sehr günstig ist, und möchtes dann Aktionen Auslösen, wenn die Zeitpunkte gekommen sind (auch welche, wenn der Strom wieder teurer wird?)

                                Da könnte man natürlich auch Timeouts von Timern bei der Ermittlung gleich so berechnen, dass die beim Erreichen der Zeit abgelaufen sind ...

                                Wenn die Genauigkeit nicht so wichtig ist: Eine andere, etwas stumpfe Möglichkeit wäre, stumpf zu "pollen". Ein z. B. minütlich startender Cron-Job prüft, ob die aktuelle Zeit innerhalb eines Zeitintervalls "guten Strompreises" ist .... ansonsten wird nichts getan ...

                                Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                                Linux pve 6.17.9-1-pve
                                6 GByte RAM für den Container
                                Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                                Remote-Access über Wireguard der Fritzbox

                                metaxaM 1 Antwort Letzte Antwort
                                0
                                • MartinPM MartinP

                                  @metaxa Wenn ich das richtig verstehe, holst Du Dir zwei Zeitpunkte für die kommenden 24 Stunden, wo der Strom sehr günstig ist, und möchtes dann Aktionen Auslösen, wenn die Zeitpunkte gekommen sind (auch welche, wenn der Strom wieder teurer wird?)

                                  Da könnte man natürlich auch Timeouts von Timern bei der Ermittlung gleich so berechnen, dass die beim Erreichen der Zeit abgelaufen sind ...

                                  Wenn die Genauigkeit nicht so wichtig ist: Eine andere, etwas stumpfe Möglichkeit wäre, stumpf zu "pollen". Ein z. B. minütlich startender Cron-Job prüft, ob die aktuelle Zeit innerhalb eines Zeitintervalls "guten Strompreises" ist .... ansonsten wird nichts getan ...

                                  metaxaM Offline
                                  metaxaM Offline
                                  metaxa
                                  schrieb am zuletzt editiert von
                                  #17

                                  @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                  holst Du Dir zwei Zeitpunkte für die kommenden 24 Stunden, wo der Strom sehr günstig ist, und möchtes dann Aktionen Auslösen, wenn die Zeitpunkte gekommen sind (auch welche, wenn der Strom wieder teurer wird?)

                                  Exakt: mein akt. Stromprovider stellt mir tgl. um 17:00 die stündlichen Stromtarife des kommenden Tages zur Verfügung. Die hole ich mir und parse sie in DP von 00 - 23 Uhr. Danach suche ich mir den günstigsten und den 2.günstigsten Preis raus. Der 2. günstigere ist eher nur eine Fleißaufgabe, verwende ich aber nicht wirklich. Am nächsten Tag zum Zeitpunkt xx:00 lade ich dann meine Akkus im Keller auf um den Rest des Tages vom relativ günstigen Einkauf zu leben. Das Vollpumpen der Akkus im Winter hat auch den Vorteil, dass diese regelmäßig kalibriert werden.

                                  In meinem Script fülle ich den 2. Cron mit den Daten des errechneten günstigsten Preises.

                                  @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                  Da könnte man natürlich auch Timeouts von Timern bei der Ermittlung gleich so berechnen, dass die beim Erreichen der Zeit abgelaufen sind ...

                                  Das ist gar nicht nötig, die Vollladung meiner kleinen Akkukapazität ist erfahrungsgemäß in max. 70 oder 80 Minuten erledigt. Dass die 10 - 20 Minuten in den nächsten Tarif rutschen krazt mich nicht besonders.

                                  @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                  .... ansonsten wird nichts getan ...

                                  jein, erst béim Erreichen des manuellen Ladezeitpunkts prüfe ich noch etliche Parameter ob eine Volladung sinnvoll ist. Aktuell beinhaltet die Prüfung paar Parameter meiner PV (unter anderen den SOC Wert). Aktuell bin ich noch am Überlegen auch den zu erwartenden Sonnenertrag des kommenden Tages miteinfließen zu lassen und die Akkus im Falle des Falles mnur bis zu 70% oder 80% zu laden, in der Hoffnung die Tagessonne erledigt dann die Differenz. Bei einer Volladung hatte ich jetzt schon paar mal die Situation, die Akkus waren gut gefüllt als die Sonne kam und ich schickte dann wieder überschüssige Energie zu einem schlechten Preis ins Netz. Das versuche ich zu umgehen.

                                  Sorry für den langen Text.

                                  MartinPM CodierknechtC 2 Antworten Letzte Antwort
                                  0
                                  • metaxaM metaxa

                                    @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                    holst Du Dir zwei Zeitpunkte für die kommenden 24 Stunden, wo der Strom sehr günstig ist, und möchtes dann Aktionen Auslösen, wenn die Zeitpunkte gekommen sind (auch welche, wenn der Strom wieder teurer wird?)

                                    Exakt: mein akt. Stromprovider stellt mir tgl. um 17:00 die stündlichen Stromtarife des kommenden Tages zur Verfügung. Die hole ich mir und parse sie in DP von 00 - 23 Uhr. Danach suche ich mir den günstigsten und den 2.günstigsten Preis raus. Der 2. günstigere ist eher nur eine Fleißaufgabe, verwende ich aber nicht wirklich. Am nächsten Tag zum Zeitpunkt xx:00 lade ich dann meine Akkus im Keller auf um den Rest des Tages vom relativ günstigen Einkauf zu leben. Das Vollpumpen der Akkus im Winter hat auch den Vorteil, dass diese regelmäßig kalibriert werden.

                                    In meinem Script fülle ich den 2. Cron mit den Daten des errechneten günstigsten Preises.

                                    @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                    Da könnte man natürlich auch Timeouts von Timern bei der Ermittlung gleich so berechnen, dass die beim Erreichen der Zeit abgelaufen sind ...

                                    Das ist gar nicht nötig, die Vollladung meiner kleinen Akkukapazität ist erfahrungsgemäß in max. 70 oder 80 Minuten erledigt. Dass die 10 - 20 Minuten in den nächsten Tarif rutschen krazt mich nicht besonders.

                                    @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                    .... ansonsten wird nichts getan ...

                                    jein, erst béim Erreichen des manuellen Ladezeitpunkts prüfe ich noch etliche Parameter ob eine Volladung sinnvoll ist. Aktuell beinhaltet die Prüfung paar Parameter meiner PV (unter anderen den SOC Wert). Aktuell bin ich noch am Überlegen auch den zu erwartenden Sonnenertrag des kommenden Tages miteinfließen zu lassen und die Akkus im Falle des Falles mnur bis zu 70% oder 80% zu laden, in der Hoffnung die Tagessonne erledigt dann die Differenz. Bei einer Volladung hatte ich jetzt schon paar mal die Situation, die Akkus waren gut gefüllt als die Sonne kam und ich schickte dann wieder überschüssige Energie zu einem schlechten Preis ins Netz. Das versuche ich zu umgehen.

                                    Sorry für den langen Text.

                                    MartinPM Online
                                    MartinPM Online
                                    MartinP
                                    schrieb am zuletzt editiert von
                                    #18

                                    @metaxa Wenn das alles zeitlich nicht so genau sein muss, wäre der "Polling" Ansatz vielleicht gar nicht so schlecht...

                                    Ein Cron-Skript was stumpf alle 5 Minuten aufgerufen wird, und schaut, ob der Zeitpunkt für günstigen Strom schon gekommen ist.

                                    Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                    Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                                    Linux pve 6.17.9-1-pve
                                    6 GByte RAM für den Container
                                    Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                                    Remote-Access über Wireguard der Fritzbox

                                    1 Antwort Letzte Antwort
                                    0
                                    • metaxaM metaxa

                                      @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                      holst Du Dir zwei Zeitpunkte für die kommenden 24 Stunden, wo der Strom sehr günstig ist, und möchtes dann Aktionen Auslösen, wenn die Zeitpunkte gekommen sind (auch welche, wenn der Strom wieder teurer wird?)

                                      Exakt: mein akt. Stromprovider stellt mir tgl. um 17:00 die stündlichen Stromtarife des kommenden Tages zur Verfügung. Die hole ich mir und parse sie in DP von 00 - 23 Uhr. Danach suche ich mir den günstigsten und den 2.günstigsten Preis raus. Der 2. günstigere ist eher nur eine Fleißaufgabe, verwende ich aber nicht wirklich. Am nächsten Tag zum Zeitpunkt xx:00 lade ich dann meine Akkus im Keller auf um den Rest des Tages vom relativ günstigen Einkauf zu leben. Das Vollpumpen der Akkus im Winter hat auch den Vorteil, dass diese regelmäßig kalibriert werden.

                                      In meinem Script fülle ich den 2. Cron mit den Daten des errechneten günstigsten Preises.

                                      @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                      Da könnte man natürlich auch Timeouts von Timern bei der Ermittlung gleich so berechnen, dass die beim Erreichen der Zeit abgelaufen sind ...

                                      Das ist gar nicht nötig, die Vollladung meiner kleinen Akkukapazität ist erfahrungsgemäß in max. 70 oder 80 Minuten erledigt. Dass die 10 - 20 Minuten in den nächsten Tarif rutschen krazt mich nicht besonders.

                                      @martinp sagte in [gelöst] dynamischer Cronjob, wie?:

                                      .... ansonsten wird nichts getan ...

                                      jein, erst béim Erreichen des manuellen Ladezeitpunkts prüfe ich noch etliche Parameter ob eine Volladung sinnvoll ist. Aktuell beinhaltet die Prüfung paar Parameter meiner PV (unter anderen den SOC Wert). Aktuell bin ich noch am Überlegen auch den zu erwartenden Sonnenertrag des kommenden Tages miteinfließen zu lassen und die Akkus im Falle des Falles mnur bis zu 70% oder 80% zu laden, in der Hoffnung die Tagessonne erledigt dann die Differenz. Bei einer Volladung hatte ich jetzt schon paar mal die Situation, die Akkus waren gut gefüllt als die Sonne kam und ich schickte dann wieder überschüssige Energie zu einem schlechten Preis ins Netz. Das versuche ich zu umgehen.

                                      Sorry für den langen Text.

                                      CodierknechtC Online
                                      CodierknechtC Online
                                      Codierknecht
                                      Developer Most Active
                                      schrieb am zuletzt editiert von Codierknecht
                                      #19

                                      @metaxa
                                      Vielleicht in der Art?

                                      560dae3c-f024-4767-8c44-e9f9c7bc47cd-image.png

                                      Um 17:00 Uhr wird der Tarif analysiert und ein genau dazu passender Zeitplan "laden" erstellt.
                                      Der wird um 17:00 Uhr erstmal beendet, da er ja neu berechnet werden muss.

                                      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                      HmIP|ZigBee|Tasmota|Unifi
                                      Zabbix Certified Specialist
                                      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                      MartinPM 1 Antwort Letzte Antwort
                                      1
                                      • CodierknechtC Codierknecht

                                        @metaxa
                                        Vielleicht in der Art?

                                        560dae3c-f024-4767-8c44-e9f9c7bc47cd-image.png

                                        Um 17:00 Uhr wird der Tarif analysiert und ein genau dazu passender Zeitplan "laden" erstellt.
                                        Der wird um 17:00 Uhr erstmal beendet, da er ja neu berechnet werden muss.

                                        MartinPM Online
                                        MartinPM Online
                                        MartinP
                                        schrieb am zuletzt editiert von
                                        #20

                                        @codierknecht Wenn man in den hellblauen Feldern auch berechnete Strings eintragen kann, wäre das wirklich die naheliegende Lösung.
                                        Ich hatte da mit mehr Limitierungen gerechnet ...

                                        Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
                                        Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
                                        Linux pve 6.17.9-1-pve
                                        6 GByte RAM für den Container
                                        Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
                                        Remote-Access über Wireguard der Fritzbox

                                        CodierknechtC metaxaM 2 Antworten Letzte Antwort
                                        0
                                        • MartinPM MartinP

                                          @codierknecht Wenn man in den hellblauen Feldern auch berechnete Strings eintragen kann, wäre das wirklich die naheliegende Lösung.
                                          Ich hatte da mit mehr Limitierungen gerechnet ...

                                          CodierknechtC Online
                                          CodierknechtC Online
                                          Codierknecht
                                          Developer Most Active
                                          schrieb am zuletzt editiert von Codierknecht
                                          #21

                                          @martinp sagte in dynamischer Cronjob, wie?:

                                          Wenn man in den hellblauen Feldern auch berechnete Strings eintragen kann

                                          Nicht strings - Zahlenwerte.

                                          8b2b1394-7fc2-4eb6-8800-093504bc4907-image.png

                                          Wie die zu berechnen sind, weiß der TE am besten.
                                          Hier wird der Ladevorgang nach 60 Minuten beendet. Ob man das so oder besser anders macht, muss er entscheiden.
                                          Kann ja auch ein weiterer CRON "ladenBeenden" sein.

                                          "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                          Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                          HmIP|ZigBee|Tasmota|Unifi
                                          Zabbix Certified Specialist
                                          Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                          MartinPM 1 Antwort Letzte Antwort
                                          0

                                          Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.

                                          Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.

                                          Mit deinem Input könnte dieser Beitrag noch besser werden 💗

                                          Registrieren Anmelden
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          330

                                          Online

                                          32.8k

                                          Benutzer

                                          82.8k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe