Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Ausführung eines Blocks nur alle 15 Minuten - wie?

NEWS

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

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    8
    1
    152

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

Ausführung eines Blocks nur alle 15 Minuten - wie?

Scheduled Pinned Locked Moved Blockly
22 Posts 4 Posters 2.4k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • W Offline
    W Offline
    WoFried
    wrote on last edited by
    #1

    Hallo,

    ich finde einfach keine Lösung, Teile eines Blocky Skripts im Intervall, also nur alle x Minuten ablaufen zu lassen.

    Die Aufgabenstellung ist, dass ich für die Steuerung einer Wärmepumpe, die Werte meiner Fotovoltaik Anlage Abfrage. Es soll nun aber nicht so sein, dass die Wärmepumpe bei erreichen eines bestimmten Wertes sofort ausschaltet, also im Minuten Takt ein und aus und ein und aus, sondern die Werte nur alle 30 Minuten abgefragt werden sollen und die Wärmepumpe auch nur in dem Zeit Intervall schaltet.

    Egal was ich versuche mit Pause, oder Verzögerung, sobald ich einen FALLS Block in dem Skript habe und dieser die Bedingungen erfüllt, wird das darin enthaltene Skript unmittelbar ausgeführt, egal ob ich davor, danach eine Pause eingebaut habe oder ich diesen falls Blog in einem Verzögerungsblog Integriert habe.

    Baue ich eine Verzögerung rein, bricht das Skript komplett ab. (Im Screenshot in der Debug Ausgabe zu sehen).

    Ich kann mir nicht vorstellen, dass das nicht funktionieren soll, da ich noch nicht so viel Erfahrung mit Blocki habe, mache ich hier sicher einen Denkfehler.

    Zum Testen habe ich mir ein einfaches Skript gebaut, in welchem ich den Status einer Shelly Steckdose Abfrage, um damit schnell testen zu können. Ihr seht auf dem Screenshot, dass ich die Verzögerung eingebaut habe, aber in der die Debug Ausgabe unten drunter die Reaktionen des Skriptes, wenn ich die Steckdose im Sekunden Takt schalte.

    Hat hier jemand einen heißen Tipp für mich, was ich machen muss, um den Bestandteil eines Skriptes, nur alle X Minuten zu triggern?

    Ziel soll es ja sein, dass sich die Werte in dem Zeitraum durch aus mehrfach so verändern, dass der Block eigentlich ausgelöst würde, er ist aber eben bewusst nicht soll, sondern nur mit zeitlichem Abstand.

    Eine Wärmepumpe im Minuten Takt ein und wieder auszuschalten, wird ihr auf Dauer nämlich ganz sicher nicht gut tun.

    Besten Dank.

    c5704c20-f311-4c8a-b33d-c060fe2e4e68-image.png

    MartinPM paul53P 2 Replies Last reply
    0
    • W WoFried

      Hallo,

      ich finde einfach keine Lösung, Teile eines Blocky Skripts im Intervall, also nur alle x Minuten ablaufen zu lassen.

      Die Aufgabenstellung ist, dass ich für die Steuerung einer Wärmepumpe, die Werte meiner Fotovoltaik Anlage Abfrage. Es soll nun aber nicht so sein, dass die Wärmepumpe bei erreichen eines bestimmten Wertes sofort ausschaltet, also im Minuten Takt ein und aus und ein und aus, sondern die Werte nur alle 30 Minuten abgefragt werden sollen und die Wärmepumpe auch nur in dem Zeit Intervall schaltet.

      Egal was ich versuche mit Pause, oder Verzögerung, sobald ich einen FALLS Block in dem Skript habe und dieser die Bedingungen erfüllt, wird das darin enthaltene Skript unmittelbar ausgeführt, egal ob ich davor, danach eine Pause eingebaut habe oder ich diesen falls Blog in einem Verzögerungsblog Integriert habe.

      Baue ich eine Verzögerung rein, bricht das Skript komplett ab. (Im Screenshot in der Debug Ausgabe zu sehen).

      Ich kann mir nicht vorstellen, dass das nicht funktionieren soll, da ich noch nicht so viel Erfahrung mit Blocki habe, mache ich hier sicher einen Denkfehler.

      Zum Testen habe ich mir ein einfaches Skript gebaut, in welchem ich den Status einer Shelly Steckdose Abfrage, um damit schnell testen zu können. Ihr seht auf dem Screenshot, dass ich die Verzögerung eingebaut habe, aber in der die Debug Ausgabe unten drunter die Reaktionen des Skriptes, wenn ich die Steckdose im Sekunden Takt schalte.

      Hat hier jemand einen heißen Tipp für mich, was ich machen muss, um den Bestandteil eines Skriptes, nur alle X Minuten zu triggern?

      Ziel soll es ja sein, dass sich die Werte in dem Zeitraum durch aus mehrfach so verändern, dass der Block eigentlich ausgelöst würde, er ist aber eben bewusst nicht soll, sondern nur mit zeitlichem Abstand.

      Eine Wärmepumpe im Minuten Takt ein und wieder auszuschalten, wird ihr auf Dauer nämlich ganz sicher nicht gut tun.

      Besten Dank.

      c5704c20-f311-4c8a-b33d-c060fe2e4e68-image.png

      MartinPM Online
      MartinPM Online
      MartinP
      wrote on last edited by MartinP
      #2

      @wofried Dafür gibt es ein Objekt, das man man mit einem Assistenten oder in Cron Syntax konfigurieren kann.

      Alle 15 Minuten sollte damit auch einstellbar sein

      https://forum.iobroker.net/topic/24294/gelöst-wie-funktioniert-cron-in-blockly

      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 Reply Last reply
      1
      • W WoFried

        Hallo,

        ich finde einfach keine Lösung, Teile eines Blocky Skripts im Intervall, also nur alle x Minuten ablaufen zu lassen.

        Die Aufgabenstellung ist, dass ich für die Steuerung einer Wärmepumpe, die Werte meiner Fotovoltaik Anlage Abfrage. Es soll nun aber nicht so sein, dass die Wärmepumpe bei erreichen eines bestimmten Wertes sofort ausschaltet, also im Minuten Takt ein und aus und ein und aus, sondern die Werte nur alle 30 Minuten abgefragt werden sollen und die Wärmepumpe auch nur in dem Zeit Intervall schaltet.

        Egal was ich versuche mit Pause, oder Verzögerung, sobald ich einen FALLS Block in dem Skript habe und dieser die Bedingungen erfüllt, wird das darin enthaltene Skript unmittelbar ausgeführt, egal ob ich davor, danach eine Pause eingebaut habe oder ich diesen falls Blog in einem Verzögerungsblog Integriert habe.

        Baue ich eine Verzögerung rein, bricht das Skript komplett ab. (Im Screenshot in der Debug Ausgabe zu sehen).

        Ich kann mir nicht vorstellen, dass das nicht funktionieren soll, da ich noch nicht so viel Erfahrung mit Blocki habe, mache ich hier sicher einen Denkfehler.

        Zum Testen habe ich mir ein einfaches Skript gebaut, in welchem ich den Status einer Shelly Steckdose Abfrage, um damit schnell testen zu können. Ihr seht auf dem Screenshot, dass ich die Verzögerung eingebaut habe, aber in der die Debug Ausgabe unten drunter die Reaktionen des Skriptes, wenn ich die Steckdose im Sekunden Takt schalte.

        Hat hier jemand einen heißen Tipp für mich, was ich machen muss, um den Bestandteil eines Skriptes, nur alle X Minuten zu triggern?

        Ziel soll es ja sein, dass sich die Werte in dem Zeitraum durch aus mehrfach so verändern, dass der Block eigentlich ausgelöst würde, er ist aber eben bewusst nicht soll, sondern nur mit zeitlichem Abstand.

        Eine Wärmepumpe im Minuten Takt ein und wieder auszuschalten, wird ihr auf Dauer nämlich ganz sicher nicht gut tun.

        Besten Dank.

        c5704c20-f311-4c8a-b33d-c060fe2e4e68-image.png

        paul53P Offline
        paul53P Offline
        paul53
        wrote on last edited by paul53
        #3

        @wofried sagte: für die Steuerung einer Wärmepumpe

        Welche Leistungsaufnahme?

        @wofried sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

        Werte meiner Fotovoltaik Anlage

        PV-Leistung (WR) oder PV-Überschuss (Einspeisung)?

        @wofried sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

        Werte nur alle 30 Minuten abgefragt werden sollen

        Das sind dann sehr zufällige Werte (kleine Wolke / Wolkenlücke). Siehe hier.

        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 Reply Last reply
        1
        • paul53P paul53

          @wofried sagte: für die Steuerung einer Wärmepumpe

          Welche Leistungsaufnahme?

          @wofried sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

          Werte meiner Fotovoltaik Anlage

          PV-Leistung (WR) oder PV-Überschuss (Einspeisung)?

          @wofried sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

          Werte nur alle 30 Minuten abgefragt werden sollen

          Das sind dann sehr zufällige Werte (kleine Wolke / Wolkenlücke). Siehe hier.

          W Offline
          W Offline
          WoFried
          wrote on last edited by
          #4

          @paul53
          Es geht um eine WP für einen Pool. Die hat maximal 1.5kw Leistungsaufnahme, eher weniger, da Full Inverter.

          Ich hole mir den aktuellen Überschuss (Einspeisung) aus der PV und wollte alle 30 Minuten checken ob der Wert größer 3kw ist und falls ja, einschalten. Bei einem Überschuss kleiner 1kw soll sie wieder abschalten, also schon mit ordentlich Karenz. Sie soll auch zu 100% über diese Automatik betrieben werden, manuell einschalten muss ich die nicht wirklich.

          Wenn sie dann mal für 30 Minuten aus ist, obwohl die Sonne scheint, ist das nicht so wild. Und wenn sie mir mal 30 Minuten den Saft aus der Batterie zieht, macht das auch nix.

          Sie soll halt nicht den ganzen Tag laufen und mir die Batterie leer saugen, die ich für die Überbrückung am Abend und in der Nacht für die Grundlast des Hauses brauche.

          Aber der Thread den du verlinkt hast, scheint ja genau das Problem zu behandeln, das schaue ich mir heute Abend mal an. Hab grad Mittagspause und nicht ganz so viel Zeit.

          Vielleicht ist dass ja schon meine Lösung.

          paul53P 1 Reply Last reply
          0
          • W WoFried

            @paul53
            Es geht um eine WP für einen Pool. Die hat maximal 1.5kw Leistungsaufnahme, eher weniger, da Full Inverter.

            Ich hole mir den aktuellen Überschuss (Einspeisung) aus der PV und wollte alle 30 Minuten checken ob der Wert größer 3kw ist und falls ja, einschalten. Bei einem Überschuss kleiner 1kw soll sie wieder abschalten, also schon mit ordentlich Karenz. Sie soll auch zu 100% über diese Automatik betrieben werden, manuell einschalten muss ich die nicht wirklich.

            Wenn sie dann mal für 30 Minuten aus ist, obwohl die Sonne scheint, ist das nicht so wild. Und wenn sie mir mal 30 Minuten den Saft aus der Batterie zieht, macht das auch nix.

            Sie soll halt nicht den ganzen Tag laufen und mir die Batterie leer saugen, die ich für die Überbrückung am Abend und in der Nacht für die Grundlast des Hauses brauche.

            Aber der Thread den du verlinkt hast, scheint ja genau das Problem zu behandeln, das schaue ich mir heute Abend mal an. Hab grad Mittagspause und nicht ganz so viel Zeit.

            Vielleicht ist dass ja schon meine Lösung.

            paul53P Offline
            paul53P Offline
            paul53
            wrote on last edited by paul53
            #5

            @wofried sagte: größer 3kw ist und falls ja, einschalten. Bei einem Überschuss kleiner 1kw soll sie wieder abschalten

            Dann etwa so:

            Blockly_temp.JPG

            @wofried sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

            aktuellen Überschuss (Einspeisung)

            Wenn der Wert positiv ist, ohne die Negation 0 - Wert.

            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 2 Replies Last reply
            1
            • paul53P paul53

              @wofried sagte: größer 3kw ist und falls ja, einschalten. Bei einem Überschuss kleiner 1kw soll sie wieder abschalten

              Dann etwa so:

              Blockly_temp.JPG

              @wofried sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

              aktuellen Überschuss (Einspeisung)

              Wenn der Wert positiv ist, ohne die Negation 0 - Wert.

              W Offline
              W Offline
              WoFried
              wrote on last edited by
              #6

              @paul53 WOW! Danke!!! Da hätte ich ja jetzt gar nicht mit gerechnet, dass ich hier quasi eine fertige Vorlage bekomme. 👏👍
              Das werde ich gleich mal 1:1 so nachbauen. Schade nur, dass die PV heute Nacht nix liefert und ich dann erst morgen sehe ob ich noch einen kleinen Denkfehler eingebaut habe.

              So machen Communities Spaß!

              1 Reply Last reply
              0
              • paul53P paul53

                @wofried sagte: größer 3kw ist und falls ja, einschalten. Bei einem Überschuss kleiner 1kw soll sie wieder abschalten

                Dann etwa so:

                Blockly_temp.JPG

                @wofried sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

                aktuellen Überschuss (Einspeisung)

                Wenn der Wert positiv ist, ohne die Negation 0 - Wert.

                W Offline
                W Offline
                WoFried
                wrote on last edited by
                #7

                @paul53 So, ich nochmal. Gestern habe ich dummerweise den Debug-Modus drin gelassen und nix ist passiert. Heute haben wir eine geschlossene Wolkendecke und ich werden noch nicht einmal meine Batterie voll bekommen, geschweige denn, dass ich die Wärmepumpe für den Pool laufen lassen könnte. Test wird also weiter verschoben.

                Aber eine Verständnisfrage hätte ich:

                Ich lasse mir mit Pushover regelmäßig alles mögliche zusenden, um zu checken, ob das funktioniert, was ich da gebastelt habe.

                Ich lasse mir folgende Informationen zusenden.

                (1) - WERT vom "ueberschuss"
                (2) -"ueberschuss"
                (3) - WERT vom Objekt ActivePower, welches "ueberschuss" befüllt

                966b4a48-d286-49c7-8889-ac2244d6675a-image.png

                Wenn ich mir nun die generierte Meldung anschaue, stelle ich fest, dass (1), also der Wert vom "ueberschuss" gar nichts enthält. Ich hätte erwartet, dass dort dann eben ein "Wert" rauskommt.

                020a5a2a-344f-4a53-ab06-ab9e049761b9-image.png

                Wieso bleibt das leer?

                paul53P 1 Reply Last reply
                0
                • W WoFried

                  @paul53 So, ich nochmal. Gestern habe ich dummerweise den Debug-Modus drin gelassen und nix ist passiert. Heute haben wir eine geschlossene Wolkendecke und ich werden noch nicht einmal meine Batterie voll bekommen, geschweige denn, dass ich die Wärmepumpe für den Pool laufen lassen könnte. Test wird also weiter verschoben.

                  Aber eine Verständnisfrage hätte ich:

                  Ich lasse mir mit Pushover regelmäßig alles mögliche zusenden, um zu checken, ob das funktioniert, was ich da gebastelt habe.

                  Ich lasse mir folgende Informationen zusenden.

                  (1) - WERT vom "ueberschuss"
                  (2) -"ueberschuss"
                  (3) - WERT vom Objekt ActivePower, welches "ueberschuss" befüllt

                  966b4a48-d286-49c7-8889-ac2244d6675a-image.png

                  Wenn ich mir nun die generierte Meldung anschaue, stelle ich fest, dass (1), also der Wert vom "ueberschuss" gar nichts enthält. Ich hätte erwartet, dass dort dann eben ein "Wert" rauskommt.

                  020a5a2a-344f-4a53-ab06-ab9e049761b9-image.png

                  Wieso bleibt das leer?

                  paul53P Offline
                  paul53P Offline
                  paul53
                  wrote on last edited by paul53
                  #8

                  @wofried sagte: Wieso bleibt das leer?

                  Die Variable ueberschuss enthält eine Zahl, "Wert vom Objekt ID" benötigt aber eine Datenpunkt-ID.

                  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

                  W 1 Reply Last reply
                  0
                  • paul53P paul53

                    @wofried sagte: Wieso bleibt das leer?

                    Die Variable ueberschuss enthält eine Zahl, "Wert vom Objekt ID" benötigt aber eine Datenpunkt-ID.

                    Blockly_temp.JPG

                    W Offline
                    W Offline
                    WoFried
                    wrote on last edited by
                    #9

                    @paul53 Ah, OK. Und in der ersten Zeile, wo explizit der "Wert" des auslösenden Objektes angefragt wird, bezieht sich auf den Inhalt?
                    16685b5e-078b-4ac2-a7df-8263e75021c0-image.png

                    paul53P 1 Reply Last reply
                    0
                    • W WoFried

                      @paul53 Ah, OK. Und in der ersten Zeile, wo explizit der "Wert" des auslösenden Objektes angefragt wird, bezieht sich auf den Inhalt?
                      16685b5e-078b-4ac2-a7df-8263e75021c0-image.png

                      paul53P Offline
                      paul53P Offline
                      paul53
                      wrote on last edited by
                      #10

                      @wofried sagte: "Wert" des auslösenden Objektes angefragt wird, bezieht sich auf den Inhalt?

                      Ja, es ist der Wert des Trigger-Datenpunktes.

                      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

                      MartinPM 1 Reply Last reply
                      0
                      • paul53P paul53

                        @wofried sagte: "Wert" des auslösenden Objektes angefragt wird, bezieht sich auf den Inhalt?

                        Ja, es ist der Wert des Trigger-Datenpunktes.

                        MartinPM Online
                        MartinPM Online
                        MartinP
                        wrote on last edited by
                        #11

                        @paul53 Ist Dein Skript wirklich der Aufgabenstellung entsprechend?

                        Ich habe sie so verstanden, dass alle 15 Minuten überprüft werden soll, ob der Überschuss ausreichend ist, die Wärmepumpe zu betreiben. Wenn ja, soll die WP sofort angeschaltet werden.
                        Im Eingeschalteten Zustand soll dann entsprechend alle 15 min geschaut werden, ob der Überschuss soweit abgesunken ist, dass die Wärmepumpe sofort angeschaltet werden sollte.

                        Geschehen in Deinem Skript die Schaltvorgänge nicht mit einer Verzögerung von 30 min - oder habe ich die Funktion des verwendeten "ausführen ... in ... " Blocks falsch verstanden?

                        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

                        paul53P 1 Reply Last reply
                        0
                        • MartinPM MartinP

                          @paul53 Ist Dein Skript wirklich der Aufgabenstellung entsprechend?

                          Ich habe sie so verstanden, dass alle 15 Minuten überprüft werden soll, ob der Überschuss ausreichend ist, die Wärmepumpe zu betreiben. Wenn ja, soll die WP sofort angeschaltet werden.
                          Im Eingeschalteten Zustand soll dann entsprechend alle 15 min geschaut werden, ob der Überschuss soweit abgesunken ist, dass die Wärmepumpe sofort angeschaltet werden sollte.

                          Geschehen in Deinem Skript die Schaltvorgänge nicht mit einer Verzögerung von 30 min - oder habe ich die Funktion des verwendeten "ausführen ... in ... " Blocks falsch verstanden?

                          paul53P Offline
                          paul53P Offline
                          paul53
                          wrote on last edited by paul53
                          #12

                          @martinp sagte: Ist Dein Skript wirklich der Aufgabenstellung entsprechend?

                          Nein, denn

                          @paul53 sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

                          Das sind dann sehr zufällige Werte (kleine Wolke / Wolkenlücke).

                          Das Skript schaltet die WP ein, wenn 30 Minuten lang der Überschuss mind. 3000 W beträgt; sie schaltet aus, wenn der Überschuss 30 Minuten lang unter 1000 W bleibt. Die 30 Minuten kann man natürlich auf 15 Minuten verringern, was sicherlich sinnvoll ist.
                          Dieses Vorgehen verhindert, dass bei bewölktem Himmel die WP durch zufällige Werte ständig ein- und ausschaltet. Eine kleine Wolke oder eine kleine Wolkenlücke führt nicht zum Schalten der WP.

                          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

                          MartinPM 1 Reply Last reply
                          0
                          • paul53P paul53

                            @martinp sagte: Ist Dein Skript wirklich der Aufgabenstellung entsprechend?

                            Nein, denn

                            @paul53 sagte in Ausführung eines Blocks nur alle 15 Minuten - wie?:

                            Das sind dann sehr zufällige Werte (kleine Wolke / Wolkenlücke).

                            Das Skript schaltet die WP ein, wenn 30 Minuten lang der Überschuss mind. 3000 W beträgt; sie schaltet aus, wenn der Überschuss 30 Minuten lang unter 1000 W bleibt. Die 30 Minuten kann man natürlich auf 15 Minuten verringern, was sicherlich sinnvoll ist.
                            Dieses Vorgehen verhindert, dass bei bewölktem Himmel die WP durch zufällige Werte ständig ein- und ausschaltet. Eine kleine Wolke oder eine kleine Wolkenlücke führt nicht zum Schalten der WP.

                            MartinPM Online
                            MartinPM Online
                            MartinP
                            wrote on last edited by
                            #13

                            @paul53 muss man schauen, ob das zum Anwendungsfall passt.
                            Will man eher auch an durchwachsenen Tagen warmes Poolwasser haben, oder eher nur mit Solarstrom laden.

                            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

                            T W 2 Replies Last reply
                            0
                            • MartinPM MartinP

                              @paul53 muss man schauen, ob das zum Anwendungsfall passt.
                              Will man eher auch an durchwachsenen Tagen warmes Poolwasser haben, oder eher nur mit Solarstrom laden.

                              T Do not disturb
                              T Do not disturb
                              ticaki
                              wrote on last edited by ticaki
                              #14

                              @martinp

                              Das hier ist meine Solaranlage 10 kwp, letzten 7 Tage, 20, 40, 70 Perzentil. Meinen 2,5kw Heizstab ohne Fremdstrom laufen zu lassen, wäre nur möglich wenn ich auch Sekunden als Schaltfequenz akzeptieren würde, aber dann wären die Relais wohl in nem Monat hinüber.

                              Bildschirmfoto 2023-07-30 um 12.23.21.png

                              Heizstabverbrauch(der ist bei der Einspeisung ja schon abgezogen)
                              Bildschirmfoto 2023-07-30 um 12.29.33.png
                              Anmerkung: am 28/7 hat meine Zwangserhitzung gegriffen, weil Wasser zu lange zu kalt um Legionellen abzutöten

                              Weather-Warnings Espresense NSPanel-Lovelace-ui Tagesschau

                              Spenden

                              1 Reply Last reply
                              0
                              • MartinPM MartinP

                                @paul53 muss man schauen, ob das zum Anwendungsfall passt.
                                Will man eher auch an durchwachsenen Tagen warmes Poolwasser haben, oder eher nur mit Solarstrom laden.

                                W Offline
                                W Offline
                                WoFried
                                wrote on last edited by
                                #15

                                @martinp Ich hab den Intervall tatsächlich erstmal auf 15 Minuten reduziert. Das passt glaube ich besser. Dann ist auch das "Risiko" nicht so hoch, dass mir die WP mal 30 Minuten lang mit max. 1.5kW an der Batterie nuckelt.
                                Ich muss sicherlich auch noch ein wenig mit den Einspeisewerte experimentieren. Ich hatte erstmal noch zusätzlich 1kW Luft gelassen, damit im Haus auch nochmal ein Herd und/oder Waschmaschine angeschmissen werden kann, ohne dass es gleich an die Batterie geht.

                                Und was das warme Wasser angeht, da sind 12m³ in einem in den Boden eingelassenen, unten und rundherum richtig gut isolierten Pool, der nahezu auch die komplette badefreie Zeit, tagsüber und nachts mit einer Solarfolie abgedeckt ist. Selbst an kalten Tagen verliert der nur ca. 1 - 1.5 Grad. Klar, wenn ich dann mal eine Serie bewölkter Tage habe, wird der kälter, aber dann ist das so.

                                Ich werde das Skript erstmal kopieren mit verkürzten Zeiten und als Ersatz für meine PV, mit dem Heizungsregler meiner Homematic arbeiten. Dann mit Pushover die Reaktion abschicken und ich sollte recht schnell merken, ob das so für mich passt.

                                @paul53 und alle Anderen: Gibt es eigentlich irgendwo Blockly eLearning Einheiten? Ich würde gerne mehr dazulernen, hab nämlich das Kontrukt der Verzögerung überhaupt nicht geblickt, warum z.B. das Stop über dem eigentlichen Ausführen steht.

                                9a46910f-4a09-4267-b7ef-55f9c1cfc095-image.png

                                paul53P 1 Reply Last reply
                                0
                                • W WoFried

                                  @martinp Ich hab den Intervall tatsächlich erstmal auf 15 Minuten reduziert. Das passt glaube ich besser. Dann ist auch das "Risiko" nicht so hoch, dass mir die WP mal 30 Minuten lang mit max. 1.5kW an der Batterie nuckelt.
                                  Ich muss sicherlich auch noch ein wenig mit den Einspeisewerte experimentieren. Ich hatte erstmal noch zusätzlich 1kW Luft gelassen, damit im Haus auch nochmal ein Herd und/oder Waschmaschine angeschmissen werden kann, ohne dass es gleich an die Batterie geht.

                                  Und was das warme Wasser angeht, da sind 12m³ in einem in den Boden eingelassenen, unten und rundherum richtig gut isolierten Pool, der nahezu auch die komplette badefreie Zeit, tagsüber und nachts mit einer Solarfolie abgedeckt ist. Selbst an kalten Tagen verliert der nur ca. 1 - 1.5 Grad. Klar, wenn ich dann mal eine Serie bewölkter Tage habe, wird der kälter, aber dann ist das so.

                                  Ich werde das Skript erstmal kopieren mit verkürzten Zeiten und als Ersatz für meine PV, mit dem Heizungsregler meiner Homematic arbeiten. Dann mit Pushover die Reaktion abschicken und ich sollte recht schnell merken, ob das so für mich passt.

                                  @paul53 und alle Anderen: Gibt es eigentlich irgendwo Blockly eLearning Einheiten? Ich würde gerne mehr dazulernen, hab nämlich das Kontrukt der Verzögerung überhaupt nicht geblickt, warum z.B. das Stop über dem eigentlichen Ausführen steht.

                                  9a46910f-4a09-4267-b7ef-55f9c1cfc095-image.png

                                  paul53P Offline
                                  paul53P Offline
                                  paul53
                                  wrote on last edited by paul53
                                  #16

                                  @wofried sagte: warum z.B. das Stop über dem eigentlichen Ausführen steht.

                                  Weil es in der Reihenfolge eleganter ist: Man kann "sonst falls" für die Sperre "nicht Verzögerung delayOn" nutzen.

                                  EDIT: Vergleich mit anderer Reihenfolge:

                                  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

                                  W 1 Reply Last reply
                                  0
                                  • paul53P paul53

                                    @wofried sagte: warum z.B. das Stop über dem eigentlichen Ausführen steht.

                                    Weil es in der Reihenfolge eleganter ist: Man kann "sonst falls" für die Sperre "nicht Verzögerung delayOn" nutzen.

                                    EDIT: Vergleich mit anderer Reihenfolge:

                                    Blockly_temp.JPG

                                    W Offline
                                    W Offline
                                    WoFried
                                    wrote on last edited by
                                    #17

                                    @paul53 Eine Frage hätte ich noch dazu. Bekommt man auch diese Warnung weg?
                                    0d5b56ec-9cc3-4a46-9b9b-ce51c760b450-image.png
                                    Das Skript läuft zwar wie es soll...
                                    126f0051-4bb6-4efb-a840-13b446f267c6-image.png
                                    ... aber ich habe bei jedem Auslösen die Meldung im Log.

                                    paul53P 1 Reply Last reply
                                    0
                                    • W WoFried

                                      @paul53 Eine Frage hätte ich noch dazu. Bekommt man auch diese Warnung weg?
                                      0d5b56ec-9cc3-4a46-9b9b-ce51c760b450-image.png
                                      Das Skript läuft zwar wie es soll...
                                      126f0051-4bb6-4efb-a840-13b446f267c6-image.png
                                      ... aber ich habe bei jedem Auslösen die Meldung im Log.

                                      paul53P Offline
                                      paul53P Offline
                                      paul53
                                      wrote on last edited by paul53
                                      #18

                                      @wofried sagte: Bekommt man auch diese Warnung weg?

                                      Poste bitte den kompletten erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                                      Schon mal: Die Abfrage der "waermepumpenautomatik" muss innerhalb des Triggers erfolgen.

                                      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

                                      W 1 Reply Last reply
                                      0
                                      • paul53P paul53

                                        @wofried sagte: Bekommt man auch diese Warnung weg?

                                        Poste bitte den kompletten erzeugten Javascript-Code ohne die letzte Zeile in Code tags.

                                        Schon mal: Die Abfrage der "waermepumpenautomatik" muss innerhalb des Triggers erfolgen.

                                        Blockly_temp.JPG

                                        W Offline
                                        W Offline
                                        WoFried
                                        wrote on last edited by
                                        #19

                                        @paul53 OK, hier mal der Code

                                        
                                        var ueberschuss, delayOn, delayOff;
                                        
                                        
                                        if (getState('0_userdata.0.waermepumpenautomatik').val) {
                                          on({id: [].concat(['fusionsolar.0.NE=yyyyyyyyy.xxxxxxxxxx.kpi.realtime.activePower']), change: "ne"}, async function (obj) {
                                            let value = obj.state.val;
                                            let oldValue = obj.oldState.val;
                                            ueberschuss = (obj.state ? obj.state.val : "");
                                            if (ueberschuss <= 1500) {
                                              (function () {if (delayOn) {clearTimeout(delayOn); delayOn = null;}})();
                                            } else if (!delayOn) {
                                              delayOn = setTimeout(async function () {
                                                if (!getState("tuya.0.xxxxxxxxxxxxxxx.1").val) {
                                                  setState("tuya.0.xxxxxxxxxxxxxxx.1"/*switch*/, true);
                                                  setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                                                  sendTo("pushover", "send", {
                                                     message: 'WP AN',
                                                     sound: "magic"
                                                  });
                                                }
                                              }, 600000);
                                            }
                                            if (ueberschuss >= 0) {
                                              (function () {if (delayOff) {clearTimeout(delayOff); delayOff = null;}})();
                                            } else if (!delayOff) {
                                              delayOff = setTimeout(async function () {
                                                if (getState("tuya.0.xxxxxxxxxxxxx.1").val) {
                                                  setState("tuya.0.xxxxxxxxxxxxx.1"/*switch*/, false);
                                                  sendTo("pushover", "send", {
                                                     message: 'WP AUS',
                                                     sound: "falling"
                                                  });
                                                }
                                                if (getState("0_userdata.0.up_zeit_an").val) {
                                                  setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                                                } else {
                                                  setStateDelayed("0_userdata.0.up_aktiv"/*up_aktiv*/, false, 60000, false);
                                                }
                                              }, 600000);
                                            }
                                          });
                                        }
                                        
                                        paul53P 1 Reply Last reply
                                        0
                                        • W WoFried

                                          @paul53 OK, hier mal der Code

                                          
                                          var ueberschuss, delayOn, delayOff;
                                          
                                          
                                          if (getState('0_userdata.0.waermepumpenautomatik').val) {
                                            on({id: [].concat(['fusionsolar.0.NE=yyyyyyyyy.xxxxxxxxxx.kpi.realtime.activePower']), change: "ne"}, async function (obj) {
                                              let value = obj.state.val;
                                              let oldValue = obj.oldState.val;
                                              ueberschuss = (obj.state ? obj.state.val : "");
                                              if (ueberschuss <= 1500) {
                                                (function () {if (delayOn) {clearTimeout(delayOn); delayOn = null;}})();
                                              } else if (!delayOn) {
                                                delayOn = setTimeout(async function () {
                                                  if (!getState("tuya.0.xxxxxxxxxxxxxxx.1").val) {
                                                    setState("tuya.0.xxxxxxxxxxxxxxx.1"/*switch*/, true);
                                                    setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                                                    sendTo("pushover", "send", {
                                                       message: 'WP AN',
                                                       sound: "magic"
                                                    });
                                                  }
                                                }, 600000);
                                              }
                                              if (ueberschuss >= 0) {
                                                (function () {if (delayOff) {clearTimeout(delayOff); delayOff = null;}})();
                                              } else if (!delayOff) {
                                                delayOff = setTimeout(async function () {
                                                  if (getState("tuya.0.xxxxxxxxxxxxx.1").val) {
                                                    setState("tuya.0.xxxxxxxxxxxxx.1"/*switch*/, false);
                                                    sendTo("pushover", "send", {
                                                       message: 'WP AUS',
                                                       sound: "falling"
                                                    });
                                                  }
                                                  if (getState("0_userdata.0.up_zeit_an").val) {
                                                    setState("0_userdata.0.up_aktiv"/*up_aktiv*/, true);
                                                  } else {
                                                    setStateDelayed("0_userdata.0.up_aktiv"/*up_aktiv*/, false, 60000, false);
                                                  }
                                                }, 600000);
                                              }
                                            });
                                          }
                                          
                                          paul53P Offline
                                          paul53P Offline
                                          paul53
                                          wrote on last edited by
                                          #20

                                          @wofried
                                          Im Skript ist kein Grund für die Warnung zu erkennen.

                                          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 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          495

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe