Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Benötige Hilfe MODBUS TCP: Hoymiles HM-1500/DTU-PRO

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    [gelöst] Benötige Hilfe MODBUS TCP: Hoymiles HM-1500/DTU-PRO

    This topic has been deleted. Only users with topic management privileges can see it.
    • Johan Suck
      Johan Suck last edited by

      Hallo an alle,
      erstmal vielen Dank für diesen Thread und die Tipps. Ich habe es geschafft per modbus mich mit der DTU Pro zu verbinden.
      Da ich noch recht neu im iobroker bin muss ich hier mal ne Frage loswerden.

      Ich habe hier im Zweifamilienwohnhaus 2 Hoymiles HM 600 mit je 2 x 370 W Solarpanels aufgebaut. DTU Pro ist auch vorhanden, funktioniert soweit einwandfrei. Was mich an der Hoymiles Cloud nervt ist, das ich nur in Summe beide Anlagen auswerten kann, hatte dazu schon Kontakt mit dem Support, allerdings nicht zufriedenstellend.

      Daher meine Idee das ganze per Modbus auszulesen.

      Meine Frage:
      Woher weiß ich welche Register ich auslesen muss, bzw. welche Register zu welchen Wechselrichter gehören. Ich komme
      da gerade nicht weiter, auch die englische Hoymiles DTU Anleitung bringt mich da nicht weiter.

      Ich hoffe es hat da jemand eine Idee.

      Vorab schon mal vielen Dank.
      Johan

      BananaJoe 1 Reply Last reply Reply Quote 0
      • BananaJoe
        BananaJoe Most Active @Johan Suck last edited by BananaJoe

        @johan-suck sagte in [gelöst] Benötige Hilfe MODBUS TCP: Hoymiles HM-1500/DTU-PRO:

        Hallo an alle,
        erstmal vielen Dank für diesen Thread und die Tipps. Ich habe es geschafft per modbus mich mit der DTU Pro zu verbinden.
        Da ich noch recht neu im iobroker bin muss ich hier mal ne Frage loswerden.

        Ich habe hier im Zweifamilienwohnhaus 2 Hoymiles HM 600 mit je 2 x 370 W Solarpanels aufgebaut. DTU Pro ist auch vorhanden, funktioniert soweit einwandfrei. Was mich an der Hoymiles Cloud nervt ist, das ich nur in Summe beide Anlagen auswerten kann, hatte dazu schon Kontakt mit dem Support, allerdings nicht zufriedenstellend.

        Daher meine Idee das ganze per Modbus auszulesen.

        Meine Frage:
        Woher weiß ich welche Register ich auslesen muss, bzw. welche Register zu welchen Wechselrichter gehören. Ich komme
        da gerade nicht weiter, auch die englische Hoymiles DTU Anleitung bringt mich da nicht weiter.

        Ich hoffe es hat da jemand eine Idee.

        Vorab schon mal vielen Dank.
        Johan

        In diesem Thread hier schaffen wir es gerade die Hoymiles auf andere Art auszulesen: https://forum.iobroker.net/post/822042 (ja, sind auch andere Diskussionen dazwischen)

        Das ist die Projetseite dazu: https://github.com/grindylow/ahoy
        und hier - und das könnte für dich interessanter sein - wird über die Datenpakete etc. diskutiert: https://www.mikrocontroller.net/topic/525778
        Da sind auch Links zu Datenblättern mit Beschreibungen zu den Protokollen etc.

        Johan Suck 1 Reply Last reply Reply Quote 0
        • Johan Suck
          Johan Suck @BananaJoe last edited by

          @bananajoe, sorry dass ich erst heute antworte, zum einen war die Zeit etwas knapp bemessen, zum anderen hast du mir einige Links mit viel Lesestoff hinterlegt. Vielen Dank dafür.

          Ich habe es für mich jetzt erstmal in der Form hinbekommen.

          Ich habe erstmal die 4 Register
          4112 Microwechselrichter 1; Modul 1 von 2
          4152 Microwechselrichter 1; Modul 2 von 2
          4192 Microwechselrichter 2; Modul 1 von 2
          4232 Microwechselrichter 2; Modul 2 von 2
          ausgelesen. Dann einen der beiden Wechselrichter ausgeschaltet. Dort gingen die Werte dann gegen null. Somit hatte ich schonmal die Zuordnung der Register zu den Wechselrichtern. Das funktioniert schonmal gut. Dass die DTU die Werte in deziWatt ausspuckt (wer kommt auf so eine Idee) kann man gut mit der Formel x/10 (stand ja schon weiter oben im Thread) korrigieren.

          @seebaernd, vielen Dank für deine Ausführungen hat mir sehr geholfen. Eine Frage hätte ich noch an dich.
          Ich hab gelesen, dass du einen Wechselrichter mit 4 Modulen hast. Wie errechnest du am Ende des Tages den Gesamtertrag deiner 4 Module. Rechnest du die 4 Today_Production mit einem seperatem Script zusammen?

          Vorab schonmal Danke
          Gruß Johan

          S 1 Reply Last reply Reply Quote 0
          • Johan Suck
            Johan Suck @Habib123 last edited by

            @habib123 said

            Kann man jeden einzelnen Wechselrichter getrennt auslesen?

            Ja kann man, habe zwei Hoymiles Wechselrichter und 4 Module. Man kann alle Module einzeln auslesen und dann mit
            mit einem Script addieren. Geht.

            LG
            Johan

            1 Reply Last reply Reply Quote 0
            • Sascha Roth
              Sascha Roth @seebaernd last edited by

              @seebaernd Wollte mal nachhören, ob du schon neue erkenntisse hast, bzw. noch mehr abfragen kannst. wenn ja, bestände die Möglichkeit, das du deine Modbus Register mal als Export zu verfügung stellst?

              S 1 Reply Last reply Reply Quote 0
              • S
                seebaernd @Johan Suck last edited by

                @johan-suck Sorry, irgendwie habe ich keine Benachrichtigungen zu neuen Themen erhalten, daher die späte Antwort. Gilt natürlich auch für die anderen Fragen an mich.

                Ja, ich rechne verschiedene Dinge mittels Script zusammen:

                on({id: 'modbus.0.inputRegisters.4232_Power_4', change: "ne"}, async function (obj) {
                var module1 = getState("modbus.0.inputRegisters.4112_Power_1").val;
                var module2 = getState("modbus.0.inputRegisters.4152_Power_2").val;
                var module3 = getState("modbus.0.inputRegisters.4192_Power_3").val;
                var module4 = getState("modbus.0.inputRegisters.4232_Power_4").val;
                var summe = Math.round((module1 + module2 +module3 + module4) /10);
                setState("0_userdata.0.Datenpunkte-iobroker.Hoymiles-WR.AC-aktuell"/AC-aktuell/,summe ,true);

                var tag1 = getState("modbus.0.inputRegisters.4113_Today_Production_1").val;
                var tag2 = getState("modbus.0.inputRegisters.4153_Today_Production_2").val;
                var tag3 = getState("modbus.0.inputRegisters.4193_Today_Production_3").val;
                var tag4 = getState("modbus.0.inputRegisters.4233_Today_Production_4").val;
                var tag = (tag1 + tag2 + tag3 + tag4) / 1000;
                // wenn kein aktueller Ertrag vorhanden, dann kommt ggf. unsinn als Tagesertrag
                if (summe>20) {
                setState("0_userdata.0.Datenpunkte-iobroker.Hoymiles-WR.Energie-Tag"/Energie-Tag/,tag ,true);
                }

                var gesamt1 = getState("modbus.0.inputRegisters.4114_Total_Production_1").val;
                var gesamt2 = getState("modbus.0.inputRegisters.4154_Total_Production_2").val;
                var gesamt3 = getState("modbus.0.inputRegisters.4194_Total_Production_3").val;
                var gesamt4 = getState("modbus.0.inputRegisters.4234_Total_Production_4").val;
                var gesamt = Math.round((gesamt1 + gesamt2 + gesamt3 + gesamt4) / 1000);
                setState("0_userdata.0.Datenpunkte-iobroker.Hoymiles-WR.Energie-Gesamt"/Energie-Gesamt/, gesamt, true);
                });

                Das Programm startet, wenn sich die Daten vom letzten Modul aktualisieren, dann sind die anderen Register auch schon ausgelesen.

                Ich habe dazu vorab einige Datenpunkte erstellt:
                0_userdata.0.Datenpunkte-iobroker.Hoymiles-WR.AC-aktuell
                0_userdata.0.Datenpunkte-iobroker.Hoymiles-WR.Energie-Tag
                0_userdata.0.Datenpunkte-iobroker.Hoymiles-WR.Energie-Gesamt
                und schreibe da jeweils die Summe aller Einzelwerte rein. Und konvertiere die ungewöhnlichen deziWatt in was sinnvolles.

                Gruß
                Bernd

                1 Reply Last reply Reply Quote 0
                • S
                  seebaernd @Sascha Roth last edited by seebaernd

                  @sascha-roth Hallo Sascha, mir reichen die o.g. Daten aus, daher habe ich keine weitere Arbeit da rein gesteckt. Mein Beispielscript zu Addition der Werte habe ich gerade schon gepostet. Zu Beginn hatte ich auch mal eine Seriennummer ausgelesen - brauchte ich aber nicht und habe ich wieder gelöscht.

                  Eine Beschreibung aller ModBus-Register gibt es im Dokument
                  https://www.shinetech-power.de/wp-content/uploads/2021/07/Technical-Note-Modbus-implementation-using-3Gen-DTU-Pro-V1.2.pdf

                  Wenn du ein konkretes Register aus der Doku oben auslesen möchtest und das nicht schaffst, dann frage gerne noch mal konkret nach. Dann kann ich gerne versuchen zu helfen.

                  Gruß
                  Bernd

                  Johan Suck K 2 Replies Last reply Reply Quote 0
                  • Johan Suck
                    Johan Suck @seebaernd last edited by

                    @seebaernd
                    Danke für dein Script. Hatte es für meine Zwecke schon selber hinbekommen.

                    Eine Frage hätte ich dann doch noch. Ich habe seit einigen Tagen immer das Problem das der Modbus Adapter sich immer mal von der DTU trennt und somit die Werte nicht mehr ausließt. Muss dann immer die DTU vom Strom trennen, damit die sich wieder mit dem Netzwerk verbindet. Passiert das bei dir auch öfter?

                    Danke
                    Johan

                    S 1 Reply Last reply Reply Quote 0
                    • S
                      seebaernd @Johan Suck last edited by

                      @johan-suck said in [gelöst] Benötige Hilfe MODBUS TCP: Hoymiles HM-1500/DTU-PRO:

                      Eine Frage hätte ich dann doch noch. Ich habe seit einigen Tagen immer das Problem das der Modbus Adapter sich immer mal von der DTU trennt und somit die Werte nicht mehr ausließt. Muss dann immer die DTU vom Strom trennen, damit die sich wieder mit dem Netzwerk verbindet. Passiert das bei dir auch öfter?

                      Nein, das ist bei mir schon sehr lange nicht mehr passiert. Vorschlag wäre, evtl das Abfrageintervall zu erhöhen? Ich habe 120000 Millisekunden, also 2 Minuten, eingestellt.

                      Johan Suck 1 Reply Last reply Reply Quote 0
                      • Johan Suck
                        Johan Suck @seebaernd last edited by

                        @seebaernd
                        Danke für deine Antwort. Ich habe heute auch mal ein bisschen quergelesen, und irgendwo aufgeschnappt das jemand im Modbus Adapter / Allgemein / die Wartezeit von 50ms auf 100ms erhöht hat. Vielleicht stelle ich das Abfrageintervall auch noch etwas höher. Danke für den Tipp. Werde mich da mal rantasten.

                        Eine Frage noch an Rande, nutzt du zeitgleich die Hoymiles Cloud?

                        Gruß
                        Johan

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          seebaernd @Johan Suck last edited by seebaernd

                          @johan-suck
                          Ja, die Hoymiles Cloud hatte ich von Beginn an bis heute in Betrieb. iobroker habe ich eigentlich installiert, um meinen Stromzähler auslesen zu können und damit den jeweiligen momentanen Einspeisewert zu haben. Um dann manuell meine go-e Wallbox auf den richtigen Amperewert zum Laden zu setzen zwecks maximalem PV-Eigenverbrauch.

                          Die PV-Erzeugungswerte brauche ich eigentlich nicht. Aber da iobroker schon mal lief, ich zufällig einen MODBUS-TCP Adapter im iobroker gefunden habe und lange nichts mehr erforscht / herumprobiert / programmiert habe, hat mich einfach die pure Neugier getrieben.

                          Anschaffungsgrund für die DTU-PRO, die das alles ermöglicht, war die Möglichkeit zur Begrenzung auf 70%. Und die fällt jetzt ab 2023 für neue kleine Anlagen wohl eh in Deutschland weg. Hätte ich das vorher gewusst, hätte ich die DTU-PRO vielleicht gar nicht gekauft und das alles wäre nie passiert ... Hat aber Spaß gemacht und und darum ist das gut so 🙂

                          1 Reply Last reply Reply Quote 0
                          • D
                            Davo1 last edited by

                            @seebaernd

                            Hallo, ich hätte eine kurze Frage bezüglich dieses Themas. Kann mir jemand verraten wie ich die Seriennummer der Wechselrichter auslese? Ich werde aus den Registern 4097-4102 nicht schlau. Muss ich hier noch was wandeln? Irgendwie bekomme ich hier keine vernünftigen Daten...

                            Danke!
                            Grüße Daniel

                            BananaJoe S 2 Replies Last reply Reply Quote 0
                            • BananaJoe
                              BananaJoe Most Active @Davo1 last edited by

                              @davo1 ich meine die Seriennummer steht auf dem Aufkleber am Wechselrichter. Und wird ja zum Auslesen gebraucht

                              1 Reply Last reply Reply Quote 0
                              • L
                                lalaPV last edited by

                                Hallo,
                                ich habe einen HM600 an der DTU-Pro und auch einen DTSU666 Smartmeter an der RS485 Schnittstelle der DTU-Pro angeschlossen.
                                Die Technical Note beschreibt ja nur das auslesen der einzelnen Module über Modbus, aber nicht das Auslesen der aktuellen Zählerwerte des Smartmeter. Die hätte jedoch gern und würde ungern zwischen die Kommunikation der DTU-Pro und dem DTSU666 auf RS485 „zwischenfunken“. Deshalb lese ich Daten aktuell über Modbus TCP über die Ethernet Schnittstelle aus.

                                Weiß hier jemand ob es auch irgendwie möglich ist, die Werte des angeschlossenen Smartmeter über die DTU-Pro Modbus TCP Schnittstelle auszulesen? Also kennt da jemand die Adressen zu, falls es sie denn gibt.

                                Grüße,
                                Patrick

                                1 Reply Last reply Reply Quote 0
                                • L
                                  lalaPV last edited by

                                  Die Modbus Adresse 0x2006 bis 0x200B gibt die konfigurierte ID des Zählers zurück. Dies ist nicht in der mir bekannten Hoymiles Doku zu finden. Deshalb wäre es interessant, ob es noch mehr nicht dokumentierte Adressen gibt.

                                  1 Reply Last reply Reply Quote 0
                                  • S
                                    seebaernd @Davo1 last edited by

                                    @davo1
                                    Siehe oben meinen Beitrag vom 26. Mai 2022, 21:25

                                    Dort ist im Screendump enthalten, wie du die Felder zur Seriennummer auslesen kannst. Wichtig ist, die Werte anschließend einzeln in Hex umzuwandeln und dann einfach als Text hintereinander zu stellen. Dann ergibt das Ergebnis die Seriennummer.

                                    1 Reply Last reply Reply Quote 0
                                    • J
                                      Jason last edited by

                                      Hallo alle,

                                      ich habe einen Raspi 4 und würde gerne wissen, welche Hardware ich für das Modus auslesen benötige!

                                      @lalaPV den DTSU666 in Verbindung mit dem Hoymiles habe ich auch, sobald ich die passende Hardware habe, würde ich auch einmal versuchen die Werte von diesem zu bekommen.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        seebaernd @Jason last edited by

                                        @jason Wenn die Hoymiles DTU-PRO am Netzwerkkabel hängt dann brauchst du nichts weiteres.

                                        E 1 Reply Last reply Reply Quote 0
                                        • E
                                          Ego75 @seebaernd last edited by

                                          Was wir denn an Hardware benötigt ?

                                          HM-1500 habe ich
                                          DTU Pro habe ich (nicht Lan verbunden, sondern W-LAN)
                                          iobroker läuft auf meinem Windows Recher
                                          trotzdem bekomme ich den Modbus nicht ausgelesen

                                          Irgendwo habe ich einen Denkfehler ?

                                          WElche Partner IP muss denn im Modbus eingetragen werden, oder muss ich die DTU fest am RS485 verbinden ?

                                          Danke schon mal für eure Infos

                                          BananaJoe 1 Reply Last reply Reply Quote 0
                                          • BananaJoe
                                            BananaJoe Most Active @Ego75 last edited by BananaJoe

                                            @ego75 sagte in [gelöst] Benötige Hilfe MODBUS TCP: Hoymiles HM-1500/DTU-PRO:

                                            Irgendwo habe ich einen Denkfehler ?

                                            aus dem Kopf meine ich das Modbus nur per LAN geht, nicht per WLAN (also an der DTU Pro)

                                            E 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            736
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            23
                                            86
                                            21154
                                            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