Skip to content
  • 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
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

Regelung eines Hoymiles Solarinverters (Nulleinspeisung)

Scheduled Pinned Locked Moved Blockly
203 Posts 36 Posters 61.4k 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.

    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 - es gibt fast nichts, was nicht auch für andere interessant ist.

                                Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                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
                                        • T 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 Offline
                                          L Offline
                                          Laser
                                          wrote on last edited by
                                          #61

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          573

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

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

                                          • Don't have an account? Register

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