Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

    This topic has been deleted. Only users with topic management privileges can see it.
    • L
      Laser @Homoran last edited by Laser

      @homoran sorry, sollte natürlich "steuere" heißen!
      setState("mqtt.1.solar.112183225956.cmd.limit_nonpersistent_absolute", Zielwert);

      1 Reply Last reply Reply Quote 0
      • OllieLe
        OllieLe last edited by

        Hallo
        @Kymchy und natürlich an die ganzen anderen fleißigen Leute 🙂

        Bisher war ich nur ein stummer Mitlesen und habe soweit alles hinbekommen. Dafür schonmal ein großes Dankeschön an alle.

        Aktuell hänge ich aber fest und komme wirklich nicht weiter. Habe dein Blockly genommen und ein wenig verändert. Da ich einen LifePo4-Akku verwende, steuere ich meine Einspeisung bis auf eine bestimmte Voltzahl, danach geht es in eine einfache konstante Nachteinspeisung (unterhalb von 26V geht es in die Konstanteinspeisung, unterhalb von 24V schaltet ein Relais die Stromzufuhr zum Wechselrichter ab -> Batterieschutz)

        Zuerst werde ich nicht ganz schlau aus dem Wert: "StoredNeededPower". Aktuell habe ich da einen Datenpunkt angelegt, den das Script füllt und ändert (evtl. ist da schon der Fehler?!) diesen gebe ich insgt. drei mal im Script an:

        • "Setze StoredNeededPower auf Wert von Objekt ID XY (Datenpunkt)
        • Dann benutze ich diese Objekt ID erneut bei den beiden "...aktualisiere..."

        Als letztes kommt noch der Befehl mit entsprechendem Datenpunkt "Steuere...limit_nonpersistent_relative mit SolarLimit" im Ordner "cmd" in dem Ordner der Seriennummer.

        Bis dahin scheint alles zu funktionieren, denn beide erzeugten Datenpunkte ändern sich entsprechend des Scriptes, sofern eine Änderung ansteht. Was sich allerdings nicht ändert: Der Wert in OpenDTU. Der relative Wert bleibt immer konstant der Wert, der zuletzt z.B. über den Browser ausgewählt wurde.
        Ändere ich allerdings IRGENDETWAS in den MQTT Einstellungen in der OpenDTU, z.B.: Veröffentlichungsintervall (von 5 auf 6Sek), übernimmt OpenDTU das Relative Limit, welches im IO-Broker im Datenpunkt liegt. Also irgendwie ist die Verbindung vorhanden, nur eben nicht dann, wenn ich das will :D!

        OpenDTU läuft über einen ESP32 und habe ich heute noch geupdatet auf 7e28336.

        Ich hoffe ich habe mich da verständlich ausgedrückt und freue mich auf ein paar Tips von euch.

        Wünsche euch einen entspannten Restsonntag.

        Liebe Grüße,

        Ollie

        OllieLe 1 Reply Last reply Reply Quote 0
        • OllieLe
          OllieLe @OllieLe last edited by

          @olliele Hab es wohl gefunden. Es war eine Einstellung im MQTT-Adapter im IO-Broker.
          Und zwar musste ein Haken bei: "Nachrichten ohne retain-Flag senden" gesetzt werden!!!

          1 Reply Last reply Reply Quote 0
          • T
            Trudeludes @Kymchy last edited by Trudeludes

            Jetzt war ein bischen Sonne, das Script läuft, aber die Regelung wird nicht an den WR weitergegeben. Irgenwas stimmt nicht. MQTT Datenpunkte ?

            L 1 Reply Last reply Reply Quote 0
            • L
              Laser @Trudeludes last edited by

              @trudeludes
              Welchen Nutzen bringt das Ganze eigentlich? Ich drossele den Wechselrichter und verschenke teuer erzeugte (theoretisch) Elektroenergie anstatt sie einzuspeisen. Wenn ich diese Energie in einen Akku laden würde, könnte ich noch einen Sinn darin erkennen.

              T 1 Reply Last reply Reply Quote 1
              • T
                Trudeludes @Laser last edited by Trudeludes

                @laser
                z.B das bei einem Zweirichtungszähler nicht zu viel auf dem Einspeisewert gesamt steht, wenn z.B mehr als ein 600 Watt BKW in Betrieb ist ?
                Würde doch wahrscheinlich irgenwann Ärger geben wenn die Einspeisung im Jahr viel zu hoch ausfällt oder meinst du nicht ?

                L 1 Reply Last reply Reply Quote 0
                • L
                  Laser @Trudeludes last edited by Laser

                  @trudeludes OK, an sowas hatte ich jetzt nicht gedacht...Ich tütele immer noch an meiner Akku- Ladegeschichte rum.

                  1 Reply Last reply Reply Quote 0
                  • T
                    Tigger66 last edited by

                    @Kymchy erst mal vielen Dank für Deine Arbeit und das Teilen.
                    Das hat mir und sicher auch anderen Zeit und Mühe gespart. Mal ne Frage in die Runde, hat schon jemand einen zweiten Hoymiles mit in diese Regelung eingebunden? Ist das sinnvoll überhaupt möglich? Wenn der eine runter oder rauf regelt, ändern sich ja auch schon wieder die Werte für den anderen WR.

                    L 1 Reply Last reply Reply Quote 0
                    • L
                      lars72 @Tigger66 last edited by lars72

                      @tigger66 Ich bin auch gerade dabei, mich hier einzufuchsen, und wenn es dann mal läuft, sollen am Ende 2-5 Wechselrichter gesteuert werden, daher antworte ich mal auf die Frage "zweiten Hoymiles einbinden":

                      Grundsätzlich sehe ich zwei Regelungsprobleme (#1 gilt auch schon bei einem einzigen Wechselrichter):

                      1. Liegen die Module eines Wechselrichters im Schatten und produziert er z.B. gerade nur 100W, dann wird eine Drosselung von 600W auf 300W überhaupt nichts daran ändern, was dieser Wechselrichter produziert. Hat man also vorher schon Teillastbetrieb, dann ist die Berechnung des Zielwerts für Nulleinspeisung ungenau. Macht aber auch nichts, denn eine ungenaue Regelung ist ja besser als gar keine Regelung.
                      2. Bei mehreren Wechselrichtern käme es dann darauf an, ob deren Module alle ähnlich ausgerichtet sind oder ob bei einer Ost-West-Ausrichtung die einen gerade auf Vollast laufen und die anderen dahintrödeln. Wenn alle ähnlich ausgerichtet sind, könnte ich für "maxSolarPower" und "measuredSolarPower" jeweils die Summe aller Wechselrichter nehmen. Aber das Problem von 1) besteht dann ja weiterhin. D.h. angenommen ich müsste die tatsächliche Produktion auf 50% senken, WR1 läuft auf 600W, WR2 läuft auf 100W, ich schicke an beide das Signal "senke auf 50%", dann läuft WR1 auf 300W und WR2 weiterhin bei 100W. Summe also 400W statt der gewünschten 350W. Aber es geht in die richtige Richtung und diesen Fehler auszumerzen, würde ja alles nur unnötig kompliziert machen.

                      Wenn ich oben so herauslese, ist das große Ziel ja eh bloß, am Jahresende keinen allzu hohen Wert auf dem 2.8.0-Zähler stehen zu haben, damit es nicht auffällt, dass die Anlage deutlich größer als die angemeldeten 600W ist. Also muß man nur schaffen, die großen Einspeiseleistungen zu verringern, es muß ja nicht genau auf Null ausgeregelt werden. So ein Zielwert von vielleicht -200W wäre eh geschickter im Sinne des Eigenverbrauchs, weil die Regelung ja doch nicht die schnellste ist, bis sie dann mal alle Schritte bis zur Umsetzung im Hoymiles durchlaufen hat. Ich bekomme z.B. 1x pro Minute die Werte des Hauszählers, kann dann reagieren, und die Änderung im Hoymiles hat bei direkter Steuerung via Ahoy auch schon ne Minute gedauert.

                      Aber wie gesagt, ich stehe ganz am Anfang (der Rasp ist erst einen halben Tag alt und ich mache die ersten Schritte im iobroker usw.), d.h. bis jetzt bin ich eh überrascht, wie gut und mit wie wenig Hindernissen alles läuft. Ein Powerfox liest den Hauszähler, und zur Verifikation lasse ich die Wechselrichterleistungen und die Zählerleistungen via influxdb und grafana anzeigen. Ob das mit der Abregelung jetzt auch vom iobroker aus funktioniert und ob das mit dem Topic geklappt hat, sehe ich hoffentlich heute... Auf jeden Fall schon mal vielen Dank für die Tipps hier!

                      Lars

                      K 1 Reply Last reply Reply Quote 0
                      • K
                        Kymchy @lars72 last edited by

                        @lars72
                        naja, du könntest die Leistung der einzelnen WR ins Verhältnis setzen und die Drosselung entsprechend aufteilen. Wäre ja kein allzu komplizierter Algorhythmus.

                        1 Reply Last reply Reply Quote 0
                        • T
                          Tigger66 last edited by

                          @lars72 vielen Dank für Deine ausführliche Antwort. Auch bei mir misst ein Powerfox, aber auch noch ein Shelly 3EM. Die zwei meiner Anlagen die dies betrifft, sind tatsächlich in Ost/West ausgerichtet. Die Regelung funktioniert mit dem Blockly von @Kymchy mit einem WR bei mir sehr gut. Tatsächlich ist es mein Wunsch, auf dem 2.8.0 Zähler so wenig wie möglich stehen zu haben. Dafür würde ich sogar einen leicht höheren Bezug, als unbedingt nötig in Kauf nehmen. Meine Anlagen passen nämlich auf keinen Balkon mehr. Da sich meine Kentnisse mit dem Script schreiben leider sehr in Grenzen halten, ist der Hinweis von @Kymchy zwar sicher für den einen oder anderen hier hilfreich, hilft mir aber eher weniger. Eventuell hat ja mal noch einer Bedarf dieses umzusetzen und teil dies dann wie @Kymchy hier mit uns.

                          L 1 Reply Last reply Reply Quote 0
                          • L
                            lars72 @Tigger66 last edited by lars72

                            Ich würde meine zukünftige Lösung ja gerne veröffentlichen, aber ich hänge noch fest, weil ich die Drosselung nicht vom iobroker zum Ahoy schicken kann.

                            Wenn ich das Topic mit mqtt explorer veröffentliche, kann ich es ohne "/" vor ahoy in das Verzeichnis 0 schreiben, und wenn ich den / davor setze, dann kann ich ins Verzeichnis ahoy schreiben. Im Verzeichnis ahoy liegen alle Dinge, die ich von der Ahoy-DTU geschickt bekomme. D.h. die ahoy-DTU sendet unter dem Topic ahoy.
                            Zwischenablage01.jpg
                            In welchen Ordner muß das rein?

                            Das hier ist das ganz kurze Testskript:
                            2023-04-22_162456.jpg
                            Wenn das gelaufen ist, dann sehe ich zwar in den Objekten, dass der Wert auf 50 geändert wurde, aber der ist rot und beim Maus-over steht auch "bestätigt: false".

                            Muß ich irgendwo noch die IP der Ahoy-DTU eintragen? Oder woher weiß das iobroker-Skript, wo es hin geschickt werden soll?

                            PS: Habe nun in den Objekten den / am Anfang rausgelöscht, dann erscheint nach dem Durchlaufen des Skripts die "50" kurz grün und dann gleich wieder rot.

                            Hier der Code des Objekts:
                            2023-04-22_164213.jpg

                            K S 3 Replies Last reply Reply Quote 0
                            • T
                              Tigger66 last edited by

                              @lars72 zum Ahoy kann ich nicht viel beitragen. Da ich ständig das Problem hatte, dass sich das Teil "aufhing" bin ich zu OpenDTU gewechselt und finde es läuft stabiler. Außerdem gibt es dafür einen Adapter, der in den Objekten die nötigen Datenpunkte anlegt die man dann gut ansteuern kann. Hat die Sache für mich viel einfacher gemacht.
                              Limit.JPG

                              L Duffy 2 Replies Last reply Reply Quote 0
                              • K
                                Kymchy @lars72 last edited by

                                @lars72 die dürfen gerne rot sein...

                                1 Reply Last reply Reply Quote 0
                                • K
                                  Kymchy @lars72 last edited by

                                  @lars72 said in Regelung eines Hoymiles Solarinverters (Nulleinspeisung):

                                  Muß ich irgendwo noch die IP der Ahoy-DTU eintragen? Oder woher weiß das iobroker-Skript, wo es hin geschickt werden soll?

                                  das regelt doch alles der MQTT Broker!

                                  1 Reply Last reply Reply Quote 0
                                  • L
                                    lars72 @Tigger66 last edited by lars72

                                    @tigger66
                                    Danke, aber wie installiere ich denn den OpenDTU-Adapter?
                                    Erledigt, habe es mit Hilfe geschafft...

                                    1 Reply Last reply Reply Quote 0
                                    • Duffy
                                      Duffy @Tigger66 last edited by

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

                                      zum Ahoy kann ich nicht viel beitragen. Da ich ständig das Problem hatte, dass sich das Teil "aufhing" bin ich zu OpenDTU gewechselt und finde es läuft stabiler. Außerdem gibt es dafür einen Adapter, der in den Objekten die nötigen Datenpunkte anlegt die man dann gut ansteuern kann. Hat die Sache für mich viel einfacher gemacht.

                                      Hi tigger66,

                                      heißt das wenn du im openDTU Adapter die Leistung reduzierst (set the inverter limit ....) die Werte auch an die openDTU übertragen werden?

                                      Bei mir funktioniert das nicht nur wenn ich über openDTU die Leistung reduziere wird das auch direkt im openDTU Adapter angezeigt.

                                      Viele Grüße

                                      K 1 Reply Last reply Reply Quote 0
                                      • K
                                        Kymchy @Duffy last edited by

                                        @duffy Nachrichten ohne "retain"-Flag senden im MQTT-Adapter

                                        Duffy 1 Reply Last reply Reply Quote 0
                                        • T
                                          Tigger66 last edited by

                                          @Duffy ich hab die Datenpunkte im Blockly von @Kymchy angepasst auf die Datenpunkte im OpenDTU Adapter wie in meinem obigen Beitrag mit Bild angezeicnet und ja das funktioniert eigentlich einwandfrei. Gelegentlich dauert es einen Moment bis der WR den Befahl ausführt. Aber es läuft.

                                          K 1 Reply Last reply Reply Quote 0
                                          • K
                                            Kymchy @Tigger66 last edited by

                                            @tigger66 aber bitte immer nur non_persistent, sonst schießt ihr euch auf Dauer den Speicher im WR ab.

                                            Duffy 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            935
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            35
                                            202
                                            43979
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo