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. Mehrere CRON Jobs in einem Skript sorgen für Chaos?

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    10
    1
    364

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

Mehrere CRON Jobs in einem Skript sorgen für Chaos?

Geplant Angeheftet Gesperrt Verschoben Blockly
12 Beiträge 4 Kommentatoren 832 Aufrufe 2 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.
  • W WoFried

    Hallo Zusammen,

    ich habe eine kleine Herausforderung, die ich gar nicht für so außergewöhnlich halte, aber mit Blockly einfach nicht in den Griff bekommen.

    Hier erstmal die Situation:

    Ich möchte eine Poolpumpe zeitabhängig steuern und dazu eine Wärmepumpe in Abhängigkeit der aktuellen Energieeinspeisung meiner PV Anlage ebenfalls steuern. Wenn die Wärmepumpe läuft, muss zwingend auch die Poolpumpe laufen. Wenn keine Überschußproduktion der PV stattfindet, soll aber die Wärmepumpe nicht laufen, die Poolpumpe muss es aber zwangsläufig. Ich steuere damit zwei Shelly Plug S an.

    Meine Idee war es mehrere CRON Jobs zu definieren, welche den Zustand einer Variablen (PoolPumpe) entweder auf wahr oder falsch setzen. Ich starte mit WAHR immer zur Minute 0 in den Nachstunden und Ende mit FALSCH in der Minute 15. tagsüber ähnliches Spiel nur mit 0 und 30. Tagsüber soll die Pumpe mehr laufen.

    Also hab ich schon zwei CRON Jobs.

    Über eine API Verbindung zu meiner PV kann ich herausfinden ob überschüssige Energie erzeugt wird, die ich dann gerne mit der Wärmepumpe verbruachen möchte. Also eine weitere Variable (Wärmepumpe) die in Abhängigkeit der Leistung der PV auch entweder auch wahr oder falsch steht.

    Besonderes Kriterium dabei ist - was mir gerade das Problem bereitet - ist, dass wenn nicht mehr genügend Energie für die Wärmepumpe erzeugt wird, die Poolpumpe dennoch nach dem Zeitplan (0-15 oder 0-30) weiterlaufen soll.

    Ich habe mir bereits ein Skript gebaut, welches oben die verschiedenen CRON Jobs hat und dann die eigentliche Logik im Blockly darunter.

    Es ist etwa wie folgt aufgebaut (ich kann gerade keinen Screenshot machen, liefere ich gerne nach).

    CRON Job 1 - Minute 0 zu Stunde 0,3,6,9,12,15-21 dann Variable Poolpumpe = WAHR (einschalten der Pumpe)
    CRON Job 2 - Minute 15 zu Stunde 0,3,6,9,12,21 dann Variable Poolpumpe = FALSCH (ausschalten der Pumpe)
    CRON Job 3 - Minute 30 zu Stunde 15-20 dann Variable Poolpumpe = FALSCH (ausschalten der Pumpe)

    CRON Job der jede Minute läuft in den der folgende Block eingebettet ist

    FALLS Block mit dem ich den Wert der PV abfrage
    wenn größer/gleich 2 dann Variable Wärmepumpe = WAHR
    wenn keiner/gleich 1 dann Variable Wärmepumpe = FALSCH (extra die Differenz zwischen 1 und 2, damit die nicht so oft schaltet)

    FALLS Block zur Steuerung der Shelly
    wenn wärmepumpe = WAHR
    Shelly Wärmepumpe AN
    Shelly Poolpumpe AN
    sonst wenn (also Wärmepumpe AUS) Poolpumpe = AN (aus der Zeitsteuerung)
    Shelly Poolpumpe = AN
    sonst Poolpumpe = AUS

    Ich habe mir überall Debug Punkte platziert, aber er springt willkürlich in dem Skript umher, erst in den FALLS Block der Shelly Steuerung, dann in den CRON Job ganz oben und ich habe keinen Plan wieso.

    Darf ich nicht mehrere CRON Jobs in einem Skript haben?
    Hat das schon mal Jemand gehabt?
    Sollte ich das komplett anders lösen?

    Wie gesagt, Blockly Screenshot liefere ich gerne heute Abend nach.

    Besten Dank.

    Gruß

    Wolfgang

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #3

    @wofried sagte: Darf ich nicht mehrere CRON Jobs in einem Skript haben?

    Doch, darf man. Ich sehe keine.

    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

    W 1 Antwort Letzte Antwort
    0
    • HomoranH Homoran

      @wofried

      ich sehe nichts!
      https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

      Bitte den Screenshot zeitnah nachliefern.
      Die Nacherzählung hilft rein gar nichts, ohne die Struktur zu sehen

      W Offline
      W Offline
      WoFried
      schrieb am zuletzt editiert von
      #4

      @homoran Ja, ich weiß. Deshalb habe ich extra bemerkt, dass ich das erst heute Abend (beginnt bei mir gegen 20 Uhr) tun kann.

      Aber ich lerne ja dazu, den nächsten Post gibts immer dann erst, wenn ich alles zusammen habe.

      Hier die fehlenden Screenshots, hoffe die helfen.
      3f24e96d-b5d8-4dfb-bc2c-ba3b00691375-image.png
      8913d074-6d09-45a5-a778-62267e502d46-image.png

      paul53P 1 Antwort Letzte Antwort
      0
      • paul53P paul53

        @wofried sagte: Darf ich nicht mehrere CRON Jobs in einem Skript haben?

        Doch, darf man. Ich sehe keine.

        W Offline
        W Offline
        WoFried
        schrieb am zuletzt editiert von
        #5

        @paul53 Das ist schon mal gut zu wissen. Danke für das Feedback.

        W 1 Antwort Letzte Antwort
        0
        • W WoFried

          @paul53 Das ist schon mal gut zu wissen. Danke für das Feedback.

          W Offline
          W Offline
          WoFried
          schrieb am zuletzt editiert von
          #6

          Ich habe mittlerweile gelesen, dass die Reihenfolge egal ist, wo die CRONS im Skript sind. Ich hab sie jetzt aber mal der Übersicht halber ganz nach oben gesetzt.
          Weiter habe ich nun die Test CRONs so eingestellt, dass an den ungeraden Minuten die Pumpen angeschaltet werden soll, an den geraden ausgeschaltet.
          Hier mal ein Screenshot... 😉
          91a36ed4-8c31-430e-bb64-57c1b81a5533-image.png
          In der Debug Ausgabe sieht man aber, dass die Variablen genau den gegenteiligen Wert haben. Bei den geraden Minuten ist sie an und bei den ungeraden aus.
          Ich denke, da liegt irgendwo der Hase im Pfeffer.

          T 1 Antwort Letzte Antwort
          0
          • W WoFried

            @homoran Ja, ich weiß. Deshalb habe ich extra bemerkt, dass ich das erst heute Abend (beginnt bei mir gegen 20 Uhr) tun kann.

            Aber ich lerne ja dazu, den nächsten Post gibts immer dann erst, wenn ich alles zusammen habe.

            Hier die fehlenden Screenshots, hoffe die helfen.
            3f24e96d-b5d8-4dfb-bc2c-ba3b00691375-image.png
            8913d074-6d09-45a5-a778-62267e502d46-image.png

            paul53P Offline
            paul53P Offline
            paul53
            schrieb am zuletzt editiert von
            #7

            @wofried sagte: Screenshots

            Es dürfen keine Zeitpläne innerhalb des Minutenzeitplans verwendet werden, sondern außerhalb.

            Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
            Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

            W 1 Antwort Letzte Antwort
            0
            • paul53P paul53

              @wofried sagte: Screenshots

              Es dürfen keine Zeitpläne innerhalb des Minutenzeitplans verwendet werden, sondern außerhalb.

              W Offline
              W Offline
              WoFried
              schrieb am zuletzt editiert von
              #8

              @paul53 Ja, ich denke der Minutenzeitplan ist mein Problem. Auch wenn ich die Inhalte umstelle, springt das Skript zuerst immer in den Minutenplan und dann zum Schluß nochmal in den AN bzw. AUS Plan.
              DAS ist mein Problem, weil das natürlich die Variable durcheinander bringt.

              Gibt es eine Möglichkeit nachdem ich in dem AN oder AUS CRON Block verarbeitet habe, in den Verarbeitungsblock zu springen? Weil das ist es ja was ich brauche, die Variable für die Pumpe je nach Zeit entweder auf AN oder auf AUS zu setzen, um dann die Verarbeitung der anderen Dinge fortzusetzen. Ich hab leider nichts gefunden. 🤷‍♂️

              paul53P 1 Antwort Letzte Antwort
              0
              • W WoFried

                Ich habe mittlerweile gelesen, dass die Reihenfolge egal ist, wo die CRONS im Skript sind. Ich hab sie jetzt aber mal der Übersicht halber ganz nach oben gesetzt.
                Weiter habe ich nun die Test CRONs so eingestellt, dass an den ungeraden Minuten die Pumpen angeschaltet werden soll, an den geraden ausgeschaltet.
                Hier mal ein Screenshot... 😉
                91a36ed4-8c31-430e-bb64-57c1b81a5533-image.png
                In der Debug Ausgabe sieht man aber, dass die Variablen genau den gegenteiligen Wert haben. Bei den geraden Minuten ist sie an und bei den ungeraden aus.
                Ich denke, da liegt irgendwo der Hase im Pfeffer.

                T Nicht stören
                T Nicht stören
                ticaki
                schrieb am zuletzt editiert von ticaki
                #9

                @wofried

                Blockly macht mir nen Knoten in die Maushand, aber das einfachste wäre so:

                Zeitplan der die Variable poolpumpe auf true oder false setzt

                Zeitplan jede 1 Minuter der bei Überschuss die Variable wärempumpe auf true/false setzt und dann eine logische Verknüfung.

                poolpumpe = wärmepumpe oder poolpumpe

                und dann poolpumpe mit poolpumpe schalten
                und wäremepumpe mit wärmepumpe

                Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                Spenden

                W 1 Antwort Letzte Antwort
                0
                • T ticaki

                  @wofried

                  Blockly macht mir nen Knoten in die Maushand, aber das einfachste wäre so:

                  Zeitplan der die Variable poolpumpe auf true oder false setzt

                  Zeitplan jede 1 Minuter der bei Überschuss die Variable wärempumpe auf true/false setzt und dann eine logische Verknüfung.

                  poolpumpe = wärmepumpe oder poolpumpe

                  und dann poolpumpe mit poolpumpe schalten
                  und wäremepumpe mit wärmepumpe

                  W Offline
                  W Offline
                  WoFried
                  schrieb am zuletzt editiert von
                  #10

                  @ticaki Coole Idee! Danke! Bin ich nicht drauf gekommen. Werde ich auf jeden Fall nachbauen, nur um zu lernen.
                  Ich habe mittlerweile auch eine Lösung gefunden. Ich hab den Minutenzeitplan ausgebaut und durch eine andere Schleife ersetzt und damit mir das Ding nicht den RasPi auslastet eine Minutenpause dafür eingebaut. So passt dann auch die Reihenfolge und das Skript tut das was es soll! Die Reihenfolge und die Werte sieht man unten in der Debug Ausgabe,

                  Und für alle die das gleiche Schleifenproblem haben, hier mal eine (von mehreren) Lösungen.
                  f3883e4b-caf6-4d4c-9b5e-043828cf077c-image.png

                  T 1 Antwort Letzte Antwort
                  0
                  • W WoFried

                    @paul53 Ja, ich denke der Minutenzeitplan ist mein Problem. Auch wenn ich die Inhalte umstelle, springt das Skript zuerst immer in den Minutenplan und dann zum Schluß nochmal in den AN bzw. AUS Plan.
                    DAS ist mein Problem, weil das natürlich die Variable durcheinander bringt.

                    Gibt es eine Möglichkeit nachdem ich in dem AN oder AUS CRON Block verarbeitet habe, in den Verarbeitungsblock zu springen? Weil das ist es ja was ich brauche, die Variable für die Pumpe je nach Zeit entweder auf AN oder auf AUS zu setzen, um dann die Verarbeitung der anderen Dinge fortzusetzen. Ich hab leider nichts gefunden. 🤷‍♂️

                    paul53P Offline
                    paul53P Offline
                    paul53
                    schrieb am zuletzt editiert von paul53
                    #11

                    @wofried sagte: Möglichkeit nachdem ich in dem AN oder AUS CRON Block verarbeitet habe, in den Verarbeitungsblock zu springen?

                    Ja eine kurze Verzögerung sorgt dafür, dass die nach Uhrzeit gesetzten Variablen vor der Auswertung gesetzt werden.

                    Blockly_temp.JPG

                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                    1 Antwort Letzte Antwort
                    0
                    • W WoFried

                      @ticaki Coole Idee! Danke! Bin ich nicht drauf gekommen. Werde ich auf jeden Fall nachbauen, nur um zu lernen.
                      Ich habe mittlerweile auch eine Lösung gefunden. Ich hab den Minutenzeitplan ausgebaut und durch eine andere Schleife ersetzt und damit mir das Ding nicht den RasPi auslastet eine Minutenpause dafür eingebaut. So passt dann auch die Reihenfolge und das Skript tut das was es soll! Die Reihenfolge und die Werte sieht man unten in der Debug Ausgabe,

                      Und für alle die das gleiche Schleifenproblem haben, hier mal eine (von mehreren) Lösungen.
                      f3883e4b-caf6-4d4c-9b5e-043828cf077c-image.png

                      T Nicht stören
                      T Nicht stören
                      ticaki
                      schrieb am zuletzt editiert von ticaki
                      #12

                      @wofried
                      Auch wenn es geht.

                      Keine while (wiederholen) schleifen mit Pause.

                      Es gibt auch ein Intervalblockly das macht das selbe ohne das eine fehlende Pause den Javascriptadapter abschießt. Oder das von Paul wenn der genaue Zeitpunkt relevant ist.

                      Edit: weiß garnicht was heute passiert, auf dem 3er pi hat alles angehalten und war unbedienbar. Danach wusste ich aber wie man Adapter von der Console aus stoppt :)

                      Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                      Spenden

                      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

                      582

                      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