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. Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    512

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    5.3k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.4k

Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

Scheduled Pinned Locked Moved Blockly
203 Posts 36 Posters 67.7k Views 34 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.
  • CarsaabC Carsaab

    Es sind nur 600W erlaubt in Schland. 800W ist in Österreich gestattet. Die Ampel hat mal wieder auf Rot geschaltet.
    Warum keine Einspeisung - nun ja. Ein Balkon-PV mit 600W erzeugt im Jahr sehr-grob 600kWh mit 70% Eigenverbrauch, 10%Verlust und 20% Einspeisung = ca. 120kWH auf dem Zähler Einspeisung pro Jahr. Das entspräche auch der Anmeldung.
    Ein unlimitiertes 1500W Balkon-PV erzeugt im Jahr sehr-grob 1500kWh mit 50% Eigenverbrauch, 10%Verlust und 40% Einspeisung = ca. 600kWH auf dem Zähler Einspeisung pro Jahr. Mit mehr PV Leistung sinkt ohne Speicher zwangsweise die Eigenverbrauchquote und die Einspeisequote steigt.
    Das fällt dann im Zweifel auch Mangelbegabten bei einer Zählersichtung in unter 1 Minute auf.

    Mir ging es eher darum ein Beispiel für ein Nulleinspeise Blockly zu teilen, das auch funzt.

    968655de-892b-4e8d-b99a-1b4e28d8b561-grafik.png
    Es wird jedes mal neu berechnet wenn sich der Stromverbrauch ändert - enweder durch einen Verbraucher oder die Schwankung der PV Leistung, die ja unmittelbar den Stromverbauch ändert. Also reicht das als Trigger.
    Der "Constraint" Befehl limiert die % zwischen den Grenzen 30% und 100%, damit keine Werte über 100% an die OpenDTU geschickt werden.

    Ich habe in den Blogs sonst nur lange Diskussionen zum Fehler finden gefunden.
    Das hier funktioniert, den Zeittakt gibt der Lesekopf auf dem Zähler automatisch vor. Ich habe hier 10sekunden eingestellt, minimal 5 sind möglich, 3 Sekunden nutzt der Zähler. 10 Sekunden reichen mir.

    Mir ist auch klar, dass das nur beim saldierenden Zähler geht. Wenn die einzelnen Phasen überwacht werden, dann sieht man das natürlich trotzdem, falls nicht die Phasen einzeln angesteuert werden können. Falls jemand also einen Shelly 3 EM hat und jede einzelne Phase überwacht und zusätzlich noch 3 BalkonPV - pro Phase eins, dann kann das natürlich noch optimiert werden. Also 3 OpenDTU, 3 Scripte und 3 bzw. 6 oder 9 Wechselrichter. Ob das dann noch als 9 oder 11,5 kWP Balkon-PV gilt, würde eine interessante Diskussion sein. Ich hätte da Zweifel. Einspeisen würde man dennoch nur sehr wenig.

    U Offline
    U Offline
    uk68
    wrote on last edited by
    #152

    @carsaab kannst Du bitte das Script mal hochladen, ich würde es gerne mal testen. Danke

    Hardware ioBroker auf RPi4,
    Tuya, S7-300, Wetterstation WS90

    1 Reply Last reply
    0
    • CarsaabC Carsaab

      Es sind nur 600W erlaubt in Schland. 800W ist in Österreich gestattet. Die Ampel hat mal wieder auf Rot geschaltet.
      Warum keine Einspeisung - nun ja. Ein Balkon-PV mit 600W erzeugt im Jahr sehr-grob 600kWh mit 70% Eigenverbrauch, 10%Verlust und 20% Einspeisung = ca. 120kWH auf dem Zähler Einspeisung pro Jahr. Das entspräche auch der Anmeldung.
      Ein unlimitiertes 1500W Balkon-PV erzeugt im Jahr sehr-grob 1500kWh mit 50% Eigenverbrauch, 10%Verlust und 40% Einspeisung = ca. 600kWH auf dem Zähler Einspeisung pro Jahr. Mit mehr PV Leistung sinkt ohne Speicher zwangsweise die Eigenverbrauchquote und die Einspeisequote steigt.
      Das fällt dann im Zweifel auch Mangelbegabten bei einer Zählersichtung in unter 1 Minute auf.

      Mir ging es eher darum ein Beispiel für ein Nulleinspeise Blockly zu teilen, das auch funzt.

      968655de-892b-4e8d-b99a-1b4e28d8b561-grafik.png
      Es wird jedes mal neu berechnet wenn sich der Stromverbrauch ändert - enweder durch einen Verbraucher oder die Schwankung der PV Leistung, die ja unmittelbar den Stromverbauch ändert. Also reicht das als Trigger.
      Der "Constraint" Befehl limiert die % zwischen den Grenzen 30% und 100%, damit keine Werte über 100% an die OpenDTU geschickt werden.

      Ich habe in den Blogs sonst nur lange Diskussionen zum Fehler finden gefunden.
      Das hier funktioniert, den Zeittakt gibt der Lesekopf auf dem Zähler automatisch vor. Ich habe hier 10sekunden eingestellt, minimal 5 sind möglich, 3 Sekunden nutzt der Zähler. 10 Sekunden reichen mir.

      Mir ist auch klar, dass das nur beim saldierenden Zähler geht. Wenn die einzelnen Phasen überwacht werden, dann sieht man das natürlich trotzdem, falls nicht die Phasen einzeln angesteuert werden können. Falls jemand also einen Shelly 3 EM hat und jede einzelne Phase überwacht und zusätzlich noch 3 BalkonPV - pro Phase eins, dann kann das natürlich noch optimiert werden. Also 3 OpenDTU, 3 Scripte und 3 bzw. 6 oder 9 Wechselrichter. Ob das dann noch als 9 oder 11,5 kWP Balkon-PV gilt, würde eine interessante Diskussion sein. Ich hätte da Zweifel. Einspeisen würde man dennoch nur sehr wenig.

      G Offline
      G Offline
      Gonzokalle
      wrote on last edited by
      #153

      @carsaab
      Finde ich auch interessant.
      Dein Blockly sieht so denglisch aus. Schreibt man das so? Meine sehen ganz anders aus.

      1 Reply Last reply
      0
      • CarsaabC Offline
        CarsaabC Offline
        Carsaab
        wrote on last edited by Carsaab
        #154

        Null-Einspeiseregelung.json
        Die json Datei,

        Das Blockly ist Englisch, weil ich beruflich 90% auf Englisch arbeite. Also sind in der Familie alle Computer und jede Software in Englisch installiert. Auch IOBroker und Blockly.
        (Meine Familie hat dazu eine Meinung, die aber ignoriere. Inzwischen habe sich alle dran gewöhnt.)

        2ab7d9df-684f-4c3d-8680-a36aaf459085-grafik.png
        Nochmal das Bild,

        Wenn Ihr die OpenDTU per Plug über Nacht abschaltet, braucht Ihr eine Zeitschaltung dafür. Das ist der Start und das Ende.
        In der Mitte die Betriebsdauer der Regelung nach dem Sonnenauf- und -untergang. Trigger ist die Änderung des Stromverbrauchs geliefert alle 10 Sekunden vom Hichi Lesekopf gekauft bei Ebay.
        Die OpenDTU meldet alle 5 sekunden die Erzeugung.
        Geschrieben wird nur der "non-persistent relative value" (nicht-dauerhafte Relativwert). Der dauerhafte Wert steht bei 600W.
        Die Einstellung bei Stromverbrauch<300W enspricht 450W WR Leistung. ich habe ihn mit den 600W angemeldet. Also lasse ich ihn da stehen. Ausserdem will ich einen Puffer haben und es ist konform zu Anmeldung. Einen Akku habe ich derzeit nicht.

        hier der Code.

        </>
        js code schedule({ astro: 'sunrise', shift: 0 }, async () => {
          setStateDelayed('hue.0.Hue_smart_plug_3.on' /* Hue smart plug 3.on */, true, 1000000, false);
        });
        if (compareTime(getAstroDate('sunrise', undefined, 60), getAstroDate('sunset', undefined, -1), 'between', null)) {
          on({ id: [].concat(['alias.0.Energie-Strom.Stromverbrauch']), change: 'any' }, async (obj) => {
            let value = obj.state.val;
            let oldValue = obj.oldState.val;
            if (getState('alias.0.Energie-Strom.Hoymiles').val <= 300) {
              setStateDelayed('alias.0.Energie-Strom.non_persistent', 30, false, parseInt(((0) || '').toString(), 10), false);
            } else {
              setStateDelayed('alias.0.Energie-Strom.non_persistent', (Math.min(Math.max(Math.round(((getState('alias.0.Energie-Strom.Stromverbrauch').val + 30 + getState('alias.0.Energie-Strom.Hoymiles').val) / 15) * 10) / 10, 30), 100)), false, parseInt(((0) || '').toString(), 10), false);
            }
          });
        }
        schedule({ astro: 'sunset', shift: 1 }, async () => {
          setStateDelayed('alias.0.Energie-Strom.non_persistent', 40, false, parseInt(((0) || '').toString(), 10), false);
          setStateDelayed('hue.0.Hue_smart_plug_3.on' /* Hue smart plug 3.on */, false, 1000000, false);
        });
        </>
        

        MOD-EDIT: Code in code-tags gesetzt!

        Kenne mich mit der Plattform hier nicht so aus. Hoffe, das hier hilft.

        CodierknechtC 1 Reply Last reply
        0
        • CarsaabC Carsaab

          Null-Einspeiseregelung.json
          Die json Datei,

          Das Blockly ist Englisch, weil ich beruflich 90% auf Englisch arbeite. Also sind in der Familie alle Computer und jede Software in Englisch installiert. Auch IOBroker und Blockly.
          (Meine Familie hat dazu eine Meinung, die aber ignoriere. Inzwischen habe sich alle dran gewöhnt.)

          2ab7d9df-684f-4c3d-8680-a36aaf459085-grafik.png
          Nochmal das Bild,

          Wenn Ihr die OpenDTU per Plug über Nacht abschaltet, braucht Ihr eine Zeitschaltung dafür. Das ist der Start und das Ende.
          In der Mitte die Betriebsdauer der Regelung nach dem Sonnenauf- und -untergang. Trigger ist die Änderung des Stromverbrauchs geliefert alle 10 Sekunden vom Hichi Lesekopf gekauft bei Ebay.
          Die OpenDTU meldet alle 5 sekunden die Erzeugung.
          Geschrieben wird nur der "non-persistent relative value" (nicht-dauerhafte Relativwert). Der dauerhafte Wert steht bei 600W.
          Die Einstellung bei Stromverbrauch<300W enspricht 450W WR Leistung. ich habe ihn mit den 600W angemeldet. Also lasse ich ihn da stehen. Ausserdem will ich einen Puffer haben und es ist konform zu Anmeldung. Einen Akku habe ich derzeit nicht.

          hier der Code.

          </>
          js code schedule({ astro: 'sunrise', shift: 0 }, async () => {
            setStateDelayed('hue.0.Hue_smart_plug_3.on' /* Hue smart plug 3.on */, true, 1000000, false);
          });
          if (compareTime(getAstroDate('sunrise', undefined, 60), getAstroDate('sunset', undefined, -1), 'between', null)) {
            on({ id: [].concat(['alias.0.Energie-Strom.Stromverbrauch']), change: 'any' }, async (obj) => {
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              if (getState('alias.0.Energie-Strom.Hoymiles').val <= 300) {
                setStateDelayed('alias.0.Energie-Strom.non_persistent', 30, false, parseInt(((0) || '').toString(), 10), false);
              } else {
                setStateDelayed('alias.0.Energie-Strom.non_persistent', (Math.min(Math.max(Math.round(((getState('alias.0.Energie-Strom.Stromverbrauch').val + 30 + getState('alias.0.Energie-Strom.Hoymiles').val) / 15) * 10) / 10, 30), 100)), false, parseInt(((0) || '').toString(), 10), false);
              }
            });
          }
          schedule({ astro: 'sunset', shift: 1 }, async () => {
            setStateDelayed('alias.0.Energie-Strom.non_persistent', 40, false, parseInt(((0) || '').toString(), 10), false);
            setStateDelayed('hue.0.Hue_smart_plug_3.on' /* Hue smart plug 3.on */, false, 1000000, false);
          });
          </>
          

          MOD-EDIT: Code in code-tags gesetzt!

          Kenne mich mit der Plattform hier nicht so aus. Hoffe, das hier hilft.

          CodierknechtC Online
          CodierknechtC Online
          Codierknecht
          Developer Most Active
          wrote on last edited by
          #155

          @carsaab
          Bitte Code auch in Code-Tags </> einbetten.

          "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

          CarsaabC 1 Reply Last reply
          0
          • CodierknechtC Codierknecht

            @carsaab
            Bitte Code auch in Code-Tags </> einbetten.

            CarsaabC Offline
            CarsaabC Offline
            Carsaab
            wrote on last edited by Carsaab
            #156

            @codierknecht

            sorry - ich bin No/Low-Code Fan. Den Code den Blockly produziert, verstehe ich selber nicht.
            Ich habe den Code, den Blockly generiert nur rauskopiert und habe keine Ahnung was Code-Tags sind. Parallel zu Blockly noch von Hand coden möchte ich nicht.
            Das Script funktioniert bei mir, mehr brauche ich nicht.
            Eigentlich müsste das json file nur importiert werden, so meine Annahme. Es ist in dem Post ja angehängt und kann heruntergeladen werden.
            https://forum.iobroker.net/assets/uploads/files/1710753872630-null-einspeiseregelung.json
            Funktioniert das nicht?

            A Samson71S HomoranH 3 Replies Last reply
            0
            • CarsaabC Carsaab

              @codierknecht

              sorry - ich bin No/Low-Code Fan. Den Code den Blockly produziert, verstehe ich selber nicht.
              Ich habe den Code, den Blockly generiert nur rauskopiert und habe keine Ahnung was Code-Tags sind. Parallel zu Blockly noch von Hand coden möchte ich nicht.
              Das Script funktioniert bei mir, mehr brauche ich nicht.
              Eigentlich müsste das json file nur importiert werden, so meine Annahme. Es ist in dem Post ja angehängt und kann heruntergeladen werden.
              https://forum.iobroker.net/assets/uploads/files/1710753872630-null-einspeiseregelung.json
              Funktioniert das nicht?

              A Offline
              A Offline
              andi_grafa
              wrote on last edited by
              #157

              @carsaab
              Du hättest den Code einfach zwischen </> reinkopieren sollen, damit in deinem Beitrag alles besser lesbar wird!

              js code schedule({ astro: 'sunrise', shift: 0 }, async () => {
              setStateDelayed('hue.0.Hue_smart_plug_3.on' /* Hue smart plug 3.on /, true, 1000000, false);
              });
              if (compareTime(getAstroDate('sunrise', undefined, 60), getAstroDate('sunset', undefined, -1), 'between', null)) {
              on({ id: [].concat(['alias.0.Energie-Strom.Stromverbrauch']), change: 'any' }, async (obj) => {
              let value = obj.state.val;
              let oldValue = obj.oldState.val;
              if (getState('alias.0.Energie-Strom.Hoymiles').val <= 300) {
              setStateDelayed('alias.0.Energie-Strom.non_persistent', 30, false, parseInt(((0) || '').toString(), 10), false);
              } else {
              setStateDelayed('alias.0.Energie-Strom.non_persistent', (Math.min(Math.max(Math.round(((getState('alias.0.Energie-Strom.Stromverbrauch').val + 30 + getState('alias.0.Energie-Strom.Hoymiles').val) / 15) * 10) / 10, 30), 100)), false, parseInt(((0) || '').toString(), 10), false);
              }
              });
              }
              schedule({ astro: 'sunset', shift: 1 }, async () => {
              setStateDelayed('alias.0.Energie-Strom.non_persistent', 40, false, parseInt(((0) || '').toString(), 10), false);
              setStateDelayed('hue.0.Hue_smart_plug_3.on' / Hue smart plug 3.on */, false, 1000000, false);
              });
              
              1 Reply Last reply
              0
              • CarsaabC Carsaab

                @codierknecht

                sorry - ich bin No/Low-Code Fan. Den Code den Blockly produziert, verstehe ich selber nicht.
                Ich habe den Code, den Blockly generiert nur rauskopiert und habe keine Ahnung was Code-Tags sind. Parallel zu Blockly noch von Hand coden möchte ich nicht.
                Das Script funktioniert bei mir, mehr brauche ich nicht.
                Eigentlich müsste das json file nur importiert werden, so meine Annahme. Es ist in dem Post ja angehängt und kann heruntergeladen werden.
                https://forum.iobroker.net/assets/uploads/files/1710753872630-null-einspeiseregelung.json
                Funktioniert das nicht?

                Samson71S Offline
                Samson71S Offline
                Samson71
                Global Moderator
                wrote on last edited by
                #158

                @carsaab sagte in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                Ich habe den Code, den Blockly generiert nur rauskopiert und habe keine Ahnung was Code-Tags sind.

                Um Code für Mitlesende hier im Forum entspannter lesbar zu machen, bettet man ihn nach dem Reinkopieren in sog. Code-Tags ein. Es geht also gar nicht um den Code an sich.

                Das findest Du als Menüpunkt bei der Erfassung des Beitrags.

                b598d876-a074-44e1-8b4a-17ba0e9d617c-image.png

                Markus

                Bitte beachten:
                Hinweise für gute Forenbeiträge
                Maßnahmen zum Schutz des Forums

                1 Reply Last reply
                0
                • CarsaabC Carsaab

                  @codierknecht

                  sorry - ich bin No/Low-Code Fan. Den Code den Blockly produziert, verstehe ich selber nicht.
                  Ich habe den Code, den Blockly generiert nur rauskopiert und habe keine Ahnung was Code-Tags sind. Parallel zu Blockly noch von Hand coden möchte ich nicht.
                  Das Script funktioniert bei mir, mehr brauche ich nicht.
                  Eigentlich müsste das json file nur importiert werden, so meine Annahme. Es ist in dem Post ja angehängt und kann heruntergeladen werden.
                  https://forum.iobroker.net/assets/uploads/files/1710753872630-null-einspeiseregelung.json
                  Funktioniert das nicht?

                  HomoranH Do not disturb
                  HomoranH Do not disturb
                  Homoran
                  Global Moderator Administrators
                  wrote on last edited by
                  #159

                  @carsaab sagte in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                  ich bin No/Low-Code Fan.

                  hat damit nichts zu tun, sondern hiermit:
                  https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

                  kein Support per PN! - Fragen im Forum stellen -
                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.
                  Das Forum freut sich über eine Spende. Benutzt dazu den Spendenbutton im Header. Danke!
                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                  CarsaabC 1 Reply Last reply
                  1
                  • HomoranH Homoran

                    @carsaab sagte in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                    ich bin No/Low-Code Fan.

                    hat damit nichts zu tun, sondern hiermit:
                    https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

                    CarsaabC Offline
                    CarsaabC Offline
                    Carsaab
                    wrote on last edited by
                    #160

                    @homoran
                    Danke - sorry für die lange Leitung, jetzt habe auch ich es verstanden.
                    Ich habe ja auch kein Problem, ich wollte nur eine funktionierende Lösung teilen, damit andere Zeit sparen.
                    Das Script läuft bei mir wie geölt.

                    1 Reply Last reply
                    0
                    • CarsaabC Carsaab

                      Hier ist noch mein Script für die Nulleinspeisung über Opendtu und Hoymiles HM1500. Den Strom lese ich mit einem Hichi Lesekopf am Stromzähler.
                      Funktioniert wunderbar. Ich speise fast nichts ein.
                      Immer wenn sich der Strom ändert - wird alle 10 Sekunden vom Hichi gemeldet, da brauche ich keinen CRON Job - wird das Limit neu gesetzt sofern die WR Stromerzeugung >300 Watt ist. Die OpenDTU schalte ich ca. 1h nach Sonnenaufgang an und mit Sonnenaufgang ab. Die dauerhafte Limitierung liegt bei 600W. Damit startet der WR jeden Morgen und bleibt da auch, wenn es keine Regelung gibt.

                      c3573fbb-227a-4dff-9bba-65ed927de52b-grafik.png

                      Die Steuerung erfolgt über die Prozentangabe der Wechselrichterleistung in den Limits von 30% bis 100%
                      Am Anfang gab es die Fehlermeldung es würde kein Number-Value übertragen, durch die Value Funktion hat sich das erledigt.

                      A Offline
                      A Offline
                      andi_grafa
                      wrote on last edited by
                      #161

                      @carsaab sagte in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                      Hier ist noch mein Script für die Nulleinspeisung über Opendtu und Hoymiles HM1500. Den Strom lese ich mit einem Hichi Lesekopf am Stromzähler.
                      Funktioniert wunderbar. Ich speise fast nichts ein.
                      Immer wenn sich der Strom ändert - wird alle 10 Sekunden vom Hichi gemeldet, da brauche ich keinen CRON Job - wird das Limit neu gesetzt sofern die WR Stromerzeugung >300 Watt ist. Die OpenDTU schalte ich ca. 1h nach Sonnenaufgang an und mit Sonnenaufgang ab. Die dauerhafte Limitierung liegt bei 600W. Damit startet der WR jeden Morgen und bleibt da auch, wenn es keine Regelung gibt.

                      c3573fbb-227a-4dff-9bba-65ed927de52b-grafik.png

                      Die Steuerung erfolgt über die Prozentangabe der Wechselrichterleistung in den Limits von 30% bis 100%
                      Am Anfang gab es die Fehlermeldung es würde kein Number-Value übertragen, durch die Value Funktion hat sich das erledigt.

                      Nur mal so zum Verständnis, du regelst die Einspeisung mittels OpenDTU auf eine Nulleispeisung. Ich sehen in deinem Programm aber z.B. nichts von einer Akkuspannungsüberwachung. Eine Nulleinspeisung macht meiner Meinung nach nur Sinn bei der Verwendung eines Akku. Hast du einen Akku, wenn ja, entlädst du den Akku, bis das BMS anspricht?

                      Samson71S 1 Reply Last reply
                      0
                      • A andi_grafa

                        @carsaab sagte in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                        Hier ist noch mein Script für die Nulleinspeisung über Opendtu und Hoymiles HM1500. Den Strom lese ich mit einem Hichi Lesekopf am Stromzähler.
                        Funktioniert wunderbar. Ich speise fast nichts ein.
                        Immer wenn sich der Strom ändert - wird alle 10 Sekunden vom Hichi gemeldet, da brauche ich keinen CRON Job - wird das Limit neu gesetzt sofern die WR Stromerzeugung >300 Watt ist. Die OpenDTU schalte ich ca. 1h nach Sonnenaufgang an und mit Sonnenaufgang ab. Die dauerhafte Limitierung liegt bei 600W. Damit startet der WR jeden Morgen und bleibt da auch, wenn es keine Regelung gibt.

                        c3573fbb-227a-4dff-9bba-65ed927de52b-grafik.png

                        Die Steuerung erfolgt über die Prozentangabe der Wechselrichterleistung in den Limits von 30% bis 100%
                        Am Anfang gab es die Fehlermeldung es würde kein Number-Value übertragen, durch die Value Funktion hat sich das erledigt.

                        Nur mal so zum Verständnis, du regelst die Einspeisung mittels OpenDTU auf eine Nulleispeisung. Ich sehen in deinem Programm aber z.B. nichts von einer Akkuspannungsüberwachung. Eine Nulleinspeisung macht meiner Meinung nach nur Sinn bei der Verwendung eines Akku. Hast du einen Akku, wenn ja, entlädst du den Akku, bis das BMS anspricht?

                        Samson71S Offline
                        Samson71S Offline
                        Samson71
                        Global Moderator
                        wrote on last edited by
                        #162

                        @andi_grafa sagte in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                        Eine Nulleinspeisung macht meiner Meinung nach nur Sinn bei der Verwendung eines Akku.

                        Einfach mal Weiterlesen! Er hat doch 3 Beiträge weiter ausführlich dargelegt warum er das macht.

                        Markus

                        Bitte beachten:
                        Hinweise für gute Forenbeiträge
                        Maßnahmen zum Schutz des Forums

                        A 1 Reply Last reply
                        0
                        • Samson71S Samson71

                          @andi_grafa sagte in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                          Eine Nulleinspeisung macht meiner Meinung nach nur Sinn bei der Verwendung eines Akku.

                          Einfach mal Weiterlesen! Er hat doch 3 Beiträge weiter ausführlich dargelegt warum er das macht.

                          A Offline
                          A Offline
                          andi_grafa
                          wrote on last edited by
                          #163

                          @samson71
                          Hallo Markus,

                          vielen Dank und ich habe es jetzt gelesen.

                          Er hat einen HM-1500 und begrenzt ihn auf 600W Leistung. Mehr habe ich nicht gefunden oder habe es einfach leider übersehen. Aber so ganz schlau bin ich aus den diversen Beiträgen nicht geworden und von einem Akku habe ich auch nichts gelesen. Vielleicht wird es aber zu sehr OT. Wichtig ist, dass es funktioniert....

                          CarsaabC Samson71S 2 Replies Last reply
                          0
                          • A andi_grafa

                            @samson71
                            Hallo Markus,

                            vielen Dank und ich habe es jetzt gelesen.

                            Er hat einen HM-1500 und begrenzt ihn auf 600W Leistung. Mehr habe ich nicht gefunden oder habe es einfach leider übersehen. Aber so ganz schlau bin ich aus den diversen Beiträgen nicht geworden und von einem Akku habe ich auch nichts gelesen. Vielleicht wird es aber zu sehr OT. Wichtig ist, dass es funktioniert....

                            CarsaabC Offline
                            CarsaabC Offline
                            Carsaab
                            wrote on last edited by
                            #164

                            @andi_grafa
                            Nochmal zu Klarstellung:
                            Ich begrenze den WR auf 600W als persistent limit. Mit diesem Limit startet der WR jeden Morgen neu. Zwischen Sonnenaufgang und Untergang folgt er mit einem non-persistent Limit dem Verbrauch zwischen 30% (von mir willkürlich gesetzt, da geht auch jeder andere Wert) und 100% (die setze ich um Fehlermeldungen zu vermeiden, wenn der WR mit über 100% angesteuert wird) seiner Leistung. Ziel ist dabei die minimale Einspeisung. Sollte irgendwann einmal ein Akku dazukommen, muss ich das Script natürlich anpassen.
                            Wenn der IOBroker mal ausfällt dann läuft er auf 600W, bzw. startet am nächsten Morgen damit und bleibt da, bis das Script wieder regelt.

                            1 Reply Last reply
                            0
                            • A andi_grafa

                              @samson71
                              Hallo Markus,

                              vielen Dank und ich habe es jetzt gelesen.

                              Er hat einen HM-1500 und begrenzt ihn auf 600W Leistung. Mehr habe ich nicht gefunden oder habe es einfach leider übersehen. Aber so ganz schlau bin ich aus den diversen Beiträgen nicht geworden und von einem Akku habe ich auch nichts gelesen. Vielleicht wird es aber zu sehr OT. Wichtig ist, dass es funktioniert....

                              Samson71S Offline
                              Samson71S Offline
                              Samson71
                              Global Moderator
                              wrote on last edited by Samson71
                              #165

                              @andi_grafa
                              Ich denke nicht dass nur klassische Begrenzung auf 600W das einzige Thema ist. Wenn ein offizielles 600W BKW angemeldet ist, aber ein HM-1500 dran hängt, dann macht Nulleinspeisung sogar viel Sinn, wenn man nicht auffallen will.

                              Markus

                              Bitte beachten:
                              Hinweise für gute Forenbeiträge
                              Maßnahmen zum Schutz des Forums

                              A 1 Reply Last reply
                              0
                              • Samson71S Samson71

                                @andi_grafa
                                Ich denke nicht dass nur klassische Begrenzung auf 600W das einzige Thema ist. Wenn ein offizielles 600W BKW angemeldet ist, aber ein HM-1500 dran hängt, dann macht Nulleinspeisung sogar viel Sinn, wenn man nicht auffallen will.

                                A Offline
                                A Offline
                                andi_grafa
                                wrote on last edited by
                                #166

                                @samson71
                                und der Meßstellenbetreiber ist nicht in der Lage, die maximale Einspeiseleistung auszulesen?? Denn die Regelung der Nulleinspeisung ist nicht so schnell, dass der Zähler nicht auch mal -1.400 W sieht!??

                                Samson71S CarsaabC 2 Replies Last reply
                                0
                                • A andi_grafa

                                  @samson71
                                  und der Meßstellenbetreiber ist nicht in der Lage, die maximale Einspeiseleistung auszulesen?? Denn die Regelung der Nulleinspeisung ist nicht so schnell, dass der Zähler nicht auch mal -1.400 W sieht!??

                                  Samson71S Offline
                                  Samson71S Offline
                                  Samson71
                                  Global Moderator
                                  wrote on last edited by
                                  #167

                                  @andi_grafa
                                  Im Normalfall wird nur die insgesamt eingespeiste Menge erfasst. Nicht mal separat pro Phase. Für das Erkennen solcher Spitzen sind Standardzähler nicht geeignet.

                                  Markus

                                  Bitte beachten:
                                  Hinweise für gute Forenbeiträge
                                  Maßnahmen zum Schutz des Forums

                                  1 Reply Last reply
                                  0
                                  • A andi_grafa

                                    @samson71
                                    und der Meßstellenbetreiber ist nicht in der Lage, die maximale Einspeiseleistung auszulesen?? Denn die Regelung der Nulleinspeisung ist nicht so schnell, dass der Zähler nicht auch mal -1.400 W sieht!??

                                    CarsaabC Offline
                                    CarsaabC Offline
                                    Carsaab
                                    wrote on last edited by
                                    #168

                                    @andi_grafa
                                    Das hier ist der Typ meines Stromzählers.
                                    https://emh-metering.com/produkte/haushaltszaehler-smart-meter/ehzm/

                                    Hier ist die Bedienungsanleitung zu meinem Stromzähler.
                                    Ich konnte da zur phasengenauen Messung nichts finden.
                                    https://emh-metering.com/wp-content/uploads/2022/11/eHZM-BIA-D-1.11.pdf
                                    Siehe Seite 12.

                                    Damit reicht die saldierende Datenerfassung des Zählers völlig aus. Der Hichi Lesekopf ist die billigste Möglichkeit, die Daten zur Steuerung zu nutzen.

                                    G 1 Reply Last reply
                                    0
                                    • CarsaabC Carsaab

                                      @andi_grafa
                                      Das hier ist der Typ meines Stromzählers.
                                      https://emh-metering.com/produkte/haushaltszaehler-smart-meter/ehzm/

                                      Hier ist die Bedienungsanleitung zu meinem Stromzähler.
                                      Ich konnte da zur phasengenauen Messung nichts finden.
                                      https://emh-metering.com/wp-content/uploads/2022/11/eHZM-BIA-D-1.11.pdf
                                      Siehe Seite 12.

                                      Damit reicht die saldierende Datenerfassung des Zählers völlig aus. Der Hichi Lesekopf ist die billigste Möglichkeit, die Daten zur Steuerung zu nutzen.

                                      G Offline
                                      G Offline
                                      Gonzokalle
                                      wrote on last edited by
                                      #169

                                      @carsaab
                                      Ich meine z.B. das hier. Du willst den WR mit 30% laufen lassen? Habe "schreibe Object ID" noch nie genommen.
                                      bb876e07-82c8-4eea-9c3c-308d98c6a339-image.png

                                      Ich hätte aus dem Bauch heraus "steuere" dafür genommen.
                                      07e70b98-1da7-4796-91ce-5fdbd1cfb700-image.png

                                      CarsaabC 1 Reply Last reply
                                      0
                                      • G Gonzokalle

                                        @carsaab
                                        Ich meine z.B. das hier. Du willst den WR mit 30% laufen lassen? Habe "schreibe Object ID" noch nie genommen.
                                        bb876e07-82c8-4eea-9c3c-308d98c6a339-image.png

                                        Ich hätte aus dem Bauch heraus "steuere" dafür genommen.
                                        07e70b98-1da7-4796-91ce-5fdbd1cfb700-image.png

                                        CarsaabC Offline
                                        CarsaabC Offline
                                        Carsaab
                                        wrote on last edited by Carsaab
                                        #170

                                        @gonzokalle
                                        Ich hatte denselben "Bauch" und nahm zunächst
                                        bd8211f2-b1f5-4597-a623-aeba5ca4ba2e-grafik.png

                                        Ergebnis: "Error: String value received, number value expected"
                                        Dann hat sich die OpenDTU auf gehängt und habe sie vom Strom getrennt und neu gestartet. Es lief einfach nicht - keine Ahnung warum - und irgendwann auch keine Lust mehr zu suchen - also griff ich zu alternativen Ansteuerungen.
                                        Mit dem Script wie ich es geteilt habe läuft alles wie geölt. Als Value wird eine Zahl übergeben - super.
                                        Nach weiteren Verbesserungen habe ich dann nicht mehr gesucht, gut genug ist gut genug oder auch "Stumpf ist Trumpf".
                                        Ich habe mir vorher selber in Blogs einen Wolf gesucht und viele Posts gesehen, die überhaupt nicht zielführend waren.
                                        Als alles lief, dachte ich, das hilft dem einen oder anderen vielleicht, wenn er oder sie ein Script bekommt, das zumindest bei einem erfolgreich läuft.

                                        Und mit den 30% läuft der WR ja nur solange, wie er weniger als 300W liefert. Ab da wird in den Grenzen zwischen 30 und 100% geregelt. Da kann man auch andere Zahlen reinschreiben.
                                        Das ist unterhalb der Anmeldung und ich schreibe nicht ständig in die DTU. Die 30% entsprechen 450W, also habe ich noch einen Puffer, für den Fall das der WR in der Annäherung zu gesetzten Grenze unpräzise regelt und ich dann die nötige Grenze nicht erreiche - z.B. 450W (30%) Grenze gesetzt und er liefert nur bis 448W wegen einer Ungenauigkeit im WR. Dann passiert halt nichts. Also ein Puffer um auf der sicheren Seite zu sein. In allen IT Themen gehen wir alle oft davon aus, das alles präzise läuft. Die Annahme ist aber leider oft falsch und wenn Mess- und Regelungenauigkeiten reinspielen, dann ist die Verzweiflung oft nicht weit weg. Also habe ich mich hier mit der groben Kelle zufrieden gegeben.
                                        Ich rede mir ein, daß es gut sein sollte, wenn ich so wenig wie möglich regel und soviel nötig, aber nicht mehr.
                                        Deshalb habe ich die Regelung gesetzt.

                                        G 1 Reply Last reply
                                        0
                                        • CarsaabC Carsaab

                                          @gonzokalle
                                          Ich hatte denselben "Bauch" und nahm zunächst
                                          bd8211f2-b1f5-4597-a623-aeba5ca4ba2e-grafik.png

                                          Ergebnis: "Error: String value received, number value expected"
                                          Dann hat sich die OpenDTU auf gehängt und habe sie vom Strom getrennt und neu gestartet. Es lief einfach nicht - keine Ahnung warum - und irgendwann auch keine Lust mehr zu suchen - also griff ich zu alternativen Ansteuerungen.
                                          Mit dem Script wie ich es geteilt habe läuft alles wie geölt. Als Value wird eine Zahl übergeben - super.
                                          Nach weiteren Verbesserungen habe ich dann nicht mehr gesucht, gut genug ist gut genug oder auch "Stumpf ist Trumpf".
                                          Ich habe mir vorher selber in Blogs einen Wolf gesucht und viele Posts gesehen, die überhaupt nicht zielführend waren.
                                          Als alles lief, dachte ich, das hilft dem einen oder anderen vielleicht, wenn er oder sie ein Script bekommt, das zumindest bei einem erfolgreich läuft.

                                          Und mit den 30% läuft der WR ja nur solange, wie er weniger als 300W liefert. Ab da wird in den Grenzen zwischen 30 und 100% geregelt. Da kann man auch andere Zahlen reinschreiben.
                                          Das ist unterhalb der Anmeldung und ich schreibe nicht ständig in die DTU. Die 30% entsprechen 450W, also habe ich noch einen Puffer, für den Fall das der WR in der Annäherung zu gesetzten Grenze unpräzise regelt und ich dann die nötige Grenze nicht erreiche - z.B. 450W (30%) Grenze gesetzt und er liefert nur bis 448W wegen einer Ungenauigkeit im WR. Dann passiert halt nichts. Also ein Puffer um auf der sicheren Seite zu sein. In allen IT Themen gehen wir alle oft davon aus, das alles präzise läuft. Die Annahme ist aber leider oft falsch und wenn Mess- und Regelungenauigkeiten reinspielen, dann ist die Verzweiflung oft nicht weit weg. Also habe ich mich hier mit der groben Kelle zufrieden gegeben.
                                          Ich rede mir ein, daß es gut sein sollte, wenn ich so wenig wie möglich regel und soviel nötig, aber nicht mehr.
                                          Deshalb habe ich die Regelung gesetzt.

                                          G Offline
                                          G Offline
                                          Gonzokalle
                                          wrote on last edited by
                                          #171

                                          @carsaab

                                          Alles richtig was du sagst.
                                          Ich habe nur nachgefragt, weil ich es nachbauen will.
                                          Beim importieren des Blocklys bekomme ich einen Fehler.

                                          2a7ff627-1510-4ee7-a5df-fea1fe9e5fa8-image.png

                                          Noch zwei Fragen.
                                          Warum schaltest du den WR über die Steckdose?
                                          Steuerst du über openDTU-Adapter oder Mqtt-Adapter?

                                          G 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          679

                                          Online

                                          32.7k

                                          Users

                                          82.5k

                                          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