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
    488

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

  • 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.5k 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.
  • Ralla66R Ralla66

    @laser

    teste mit JS, wenn das nicht geht mit WR an / aus liegt der Fehler woanders.

    L Offline
    L Offline
    Laser
    wrote on last edited by
    #41

    @ralla66 Mache ich, geht aber erst morgen...

    1 Reply Last reply
    0
    • Ralla66R Ralla66

      @laser

      teste mit JS, wenn das nicht geht mit WR an / aus liegt der Fehler woanders.

      K Offline
      K Offline
      Kymchy
      wrote on last edited by Kymchy
      #42

      @ralla66 er hatte den DP mittlerweile nach meinem Hinweis korrekt angelegt. Nun kann er ihn mit "steuere" im Blockly ändern und den WR ein/ausschalten. So steuere ich in meinem Blockly ja auch das Limit.

      L 1 Reply Last reply
      0
      • K Kymchy

        @ralla66 er hatte den DP mittlerweile nach meinem Hinweis korrekt angelegt. Nun kann er ihn mit "steuere" im Blockly ändern und den WR ein/ausschalten. So steuere ich in meinem Blockly ja auch das Limit.

        L Offline
        L Offline
        Laser
        wrote on last edited by
        #43

        @kymchy
        Habe das jetzt mehrfach getestet. Funktioniert auch mit "sendTo". Habe den Befehl reinkopiert. Irgend einen Syntaxfehler hatte ich sicher vorher drin. Kann ich nicht mehr exakt nachvollziehen, weil gelöscht.
        Ob das jetzt immer geht, oder ob es darauf ankommt, daß der Hoymiles gerade mit der openDTU verbunden ist, muß ich noch ausgiebig testen.
        Aber Danke nochmal für die Unterstützung!

        L 1 Reply Last reply
        0
        • L Laser

          @kymchy
          Habe das jetzt mehrfach getestet. Funktioniert auch mit "sendTo". Habe den Befehl reinkopiert. Irgend einen Syntaxfehler hatte ich sicher vorher drin. Kann ich nicht mehr exakt nachvollziehen, weil gelöscht.
          Ob das jetzt immer geht, oder ob es darauf ankommt, daß der Hoymiles gerade mit der openDTU verbunden ist, muß ich noch ausgiebig testen.
          Aber Danke nochmal für die Unterstützung!

          L Offline
          L Offline
          Laser
          wrote on last edited by Laser
          #44

          @Kymchy
          Ich habe den ganzen Nachmittag getestet. Das Eigenartige ist, mal funktioniert der sendTo- Befehl, z.B zum Ein/Ausschalten, mal nicht. Bis zum Schluß nicht mal die Steuerung über die OpenDTU- Oberfläche ging. Mußte die Inverter + openDTU stromlos machen und wieder einschalten.
          bei "message" trage ich mal 0 und mal 1 ein- zum Testen

           // Vorlage:
           //sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/11418xxxxxxx/cmd/power', message: '1'});
          
             sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183227304/cmd/power', message: '1'});
             // sendTo('mqtt.0',"sendMessage2Client",{topic: 'solar/112183225956/cmd/power', message: '1'});
             // sendTo('mqtt.0',"sendMessage2Client",{topic: 'solar/112183818346/cmd/power', message: '1'});
          

          und:

          //sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183227304/cmd/limit_nonpersistent_absolute', message: '300'});
          sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183225956/cmd/limit_nonpersistent_absolute', message: '300'});
          //sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183818346/cmd/limit_nonpersistent_absolute', message: '400'});
          

          hat evtl. die openDTU eine Macke? Die Befehle kommen nicht beim Inverter an?
          Über den MQTT Editor gesendet (published) wirken die Befehle

          K 1 Reply Last reply
          0
          • L Laser

            @Kymchy
            Ich habe den ganzen Nachmittag getestet. Das Eigenartige ist, mal funktioniert der sendTo- Befehl, z.B zum Ein/Ausschalten, mal nicht. Bis zum Schluß nicht mal die Steuerung über die OpenDTU- Oberfläche ging. Mußte die Inverter + openDTU stromlos machen und wieder einschalten.
            bei "message" trage ich mal 0 und mal 1 ein- zum Testen

             // Vorlage:
             //sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/11418xxxxxxx/cmd/power', message: '1'});
            
               sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183227304/cmd/power', message: '1'});
               // sendTo('mqtt.0',"sendMessage2Client",{topic: 'solar/112183225956/cmd/power', message: '1'});
               // sendTo('mqtt.0',"sendMessage2Client",{topic: 'solar/112183818346/cmd/power', message: '1'});
            

            und:

            //sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183227304/cmd/limit_nonpersistent_absolute', message: '300'});
            sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183225956/cmd/limit_nonpersistent_absolute', message: '300'});
            //sendTo('mqtt.0', 'sendMessage2Client', {topic: 'solar/112183818346/cmd/limit_nonpersistent_absolute', message: '400'});
            

            hat evtl. die openDTU eine Macke? Die Befehle kommen nicht beim Inverter an?
            Über den MQTT Editor gesendet (published) wirken die Befehle

            K Offline
            K Offline
            Kymchy
            wrote on last edited by
            #45

            @laser ich habe dir nicht gesagt, du sollst den sendTo Befehl nehmen...

            L 1 Reply Last reply
            0
            • K Kymchy

              @laser ich habe dir nicht gesagt, du sollst den sendTo Befehl nehmen...

              L Offline
              L Offline
              Laser
              wrote on last edited by
              #46

              @kymchy
              OK, da gibt es scheinbar doch Probleme. Lieber direkt den Datenpunkt setzen.

              K 1 Reply Last reply
              0
              • L Laser

                @kymchy
                OK, da gibt es scheinbar doch Probleme. Lieber direkt den Datenpunkt setzen.

                K Offline
                K Offline
                Kymchy
                wrote on last edited by Kymchy
                #47

                @laser ja, aber nicht mit aktualisiere, sondern mit steuere. Funktioniert bei mir tadellos.

                und den mqtt Adapter als Server/Broker.

                1 Reply Last reply
                0
                • L Offline
                  L Offline
                  Laser
                  wrote on last edited by Laser
                  #48

                  @kymchy OK, dann verabschiede ich mich vom sendTo- Befehl. Unterschied Steuern und Aktualisieren im Script muß ich mir noch ansehen.

                  L 1 Reply Last reply
                  0
                  • L Laser

                    @kymchy OK, dann verabschiede ich mich vom sendTo- Befehl. Unterschied Steuern und Aktualisieren im Script muß ich mir noch ansehen.

                    L Offline
                    L Offline
                    Laser
                    wrote on last edited by
                    #49

                    Den SendTo Befehl habe ich verbannt. Aber das Schreiben auf die Datenpunkte mit

                    Zielwert = 400;
                    setState("mqtt.1.solar.112183227304.cmd.limit_nonpersistent_absolute", Zielwert);
                    setState("mqtt.1.solar.112183225956.cmd.limit_nonpersistent_absolute", Zielwert);
                    

                    funktioniert mal, mal nicht. Irgendetwas passt noch nicht. Mal reagiert der Hoymiles, mal nicht.
                    Auch mit Blockly nicht.

                    K 1 Reply Last reply
                    0
                    • L Laser

                      Den SendTo Befehl habe ich verbannt. Aber das Schreiben auf die Datenpunkte mit

                      Zielwert = 400;
                      setState("mqtt.1.solar.112183227304.cmd.limit_nonpersistent_absolute", Zielwert);
                      setState("mqtt.1.solar.112183225956.cmd.limit_nonpersistent_absolute", Zielwert);
                      

                      funktioniert mal, mal nicht. Irgendetwas passt noch nicht. Mal reagiert der Hoymiles, mal nicht.
                      Auch mit Blockly nicht.

                      K Offline
                      K Offline
                      Kymchy
                      wrote on last edited by Kymchy
                      #50

                      @laser welcher Inverter ist das?

                      ich würde die Werte auch immer relativ setzten.

                      L 1 Reply Last reply
                      0
                      • K Kymchy

                        @laser welcher Inverter ist das?

                        ich würde die Werte auch immer relativ setzten.

                        L Offline
                        L Offline
                        Laser
                        wrote on last edited by Laser
                        #51

                        @kymchy Hoymiles HM400
                        relativ 10 % Inverter macht 10 Watt ist das OK?

                        K 2 Replies Last reply
                        0
                        • L Laser

                          @kymchy Hoymiles HM400
                          relativ 10 % Inverter macht 10 Watt ist das OK?

                          K Offline
                          K Offline
                          Kymchy
                          wrote on last edited by
                          #52

                          @laser was ist, wenn du die Werte händisch in den Objekten änderst?

                          K 1 Reply Last reply
                          0
                          • L Laser

                            @kymchy Hoymiles HM400
                            relativ 10 % Inverter macht 10 Watt ist das OK?

                            K Offline
                            K Offline
                            Kymchy
                            wrote on last edited by
                            #53

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

                            @kymchy Hoymiles HM400
                            relativ 10 % Inverter macht 10 Watt ist das OK?

                            nein

                            1 Reply Last reply
                            0
                            • K Kymchy

                              @laser was ist, wenn du die Werte händisch in den Objekten änderst?

                              K Offline
                              K Offline
                              Kymchy
                              wrote on last edited by
                              #54

                              @kymchy setze die Werte händisch in den Objekten und schau, ob OpenDTU die annimmt.

                              L 1 Reply Last reply
                              0
                              • K Kymchy

                                @kymchy setze die Werte händisch in den Objekten und schau, ob OpenDTU die annimmt.

                                L Offline
                                L Offline
                                Laser
                                wrote on last edited by Laser
                                #55

                                @kymchy Das Verrückte ist, mal geht es mal nicht! Habe jetzt 50% relativ gesetzt: 200 Watt. 10% : 40 Watt.
                                Ein/Aus geht auch, aber morgen früh ist der Inverter, den ich heute ausgeschaltet habe, wieder eingeschaltet. Einige Male bleib er aber aus. Ein System kann ich nicht erkennen.
                                Sind meine Befehle so richtig? "aktualisiere, ohne Bestätigung"

                                HomoranH 1 Reply Last reply
                                0
                                • L Laser

                                  @kymchy Das Verrückte ist, mal geht es mal nicht! Habe jetzt 50% relativ gesetzt: 200 Watt. 10% : 40 Watt.
                                  Ein/Aus geht auch, aber morgen früh ist der Inverter, den ich heute ausgeschaltet habe, wieder eingeschaltet. Einige Male bleib er aber aus. Ein System kann ich nicht erkennen.
                                  Sind meine Befehle so richtig? "aktualisiere, ohne Bestätigung"

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

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

                                  aktualisiere, ohne Bestätigung

                                  aktualisiere ist mit Bestätigung und nur für eigene Datenpunkte gedacht.
                                  zum steuern von Geräten über deren Adapter musst du steuere nehmen

                                  wie schon gesagt wurde

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

                                  @laser ja, aber nicht mit aktualisiere, sondern mit steuere. Funktioniert bei mir tadellos.

                                  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 -

                                  L 1 Reply Last reply
                                  1
                                  • HomoranH Homoran

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

                                    aktualisiere, ohne Bestätigung

                                    aktualisiere ist mit Bestätigung und nur für eigene Datenpunkte gedacht.
                                    zum steuern von Geräten über deren Adapter musst du steuere nehmen

                                    wie schon gesagt wurde

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

                                    @laser ja, aber nicht mit aktualisiere, sondern mit steuere. Funktioniert bei mir tadellos.

                                    L Offline
                                    L Offline
                                    Laser
                                    wrote on last edited by Laser
                                    #57

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

                                    1 Reply Last reply
                                    0
                                    • OllieLeO Offline
                                      OllieLeO Offline
                                      OllieLe
                                      wrote on last edited by
                                      #58

                                      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

                                      OllieLeO 1 Reply Last reply
                                      0
                                      • OllieLeO OllieLe

                                        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

                                        OllieLeO Offline
                                        OllieLeO Offline
                                        OllieLe
                                        wrote on last edited by
                                        #59

                                        @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
                                        0
                                        • K Kymchy

                                          Hallo,
                                          ich habe mich mal daran versucht, ein Blockly zu erstellen, welches dazu dient, einen Hoymiles Wechselrichter für ein Balkonkraftwerk zu regeln.
                                          Dazu gibt es im Netz schon einige, aber die, die ich gefunden hatte, gingen immer von dem Ansatz aus, das reagiert wird, wenn die Anlage in die Einspeisung geht, also mehr Strom erzeugt wird, als benötigt wird.
                                          Mein Ansatz verfolgt einen anderen Weg. Und zwar den, dass die Anlage immer maximal soviel Strom liefert, wie von den Verbrauchern verlangt wird. Meinen Stromzähler lese ich mit einem Hichi aus, der negative Werte anzeigt, wenn eingespeist wird. Die benötigte Strommenge ergibt sich aus der Summe dessen, was der Hichi ausliest und der momentanen Leistung der PV-Anlage.
                                          Meine Regelung erfolgt alle 30 Sekunden und nur zwischen Sonnenauf- und Sonnenuntergang. Um zu häufige Regelungen zu vermeiden, habe ich eine Hysterese eingebaut, wobei die Regelung nur dann erfolgt, wenn der gemessene Strombedarf mehr als 10% vom vorher eingestellten abweicht. Den eingestellten Wert speichere ich dazu in einem Datenpunkt. Die Regelung erfolgt über MQTT non-persistent und in Prozent, also relativ.
                                          Ich hoffe, das Skript ist einigermaßen lesbar und würde mich mich über Hinweise zu Fehlern oder Verbesserungsvorschläge freuen.
                                          Hier nun das Blockly;

                                          Bildschirmfoto vom 2023-03-01 11-43-47.png

                                          viele Grüße
                                          Kymchy

                                          T Offline
                                          T Offline
                                          Trudeludes
                                          wrote on last edited by Trudeludes
                                          #60

                                          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
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          576

                                          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