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.
    • tugsi
      tugsi @BananaJoe last edited by

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

      Ich hatte mal einen in der Garage an der Wand, der wurde fast 20 Grad wärmer als sein Kumpel draußen.

      Ist bei mir genau andersherum, aber ich denke das hängt genau an mit Deiner Fassadenlage zusammen.
      Bei mir sind die in der Garage immer kühler (im Sommer), hängen aber auch gut 25cm weg von der Wand in der Luft an der Kabelrinne.
      Die 3 WR oben auf dem Dach, einer auf den Flachdach und 2 auf den Schrägdach montiert, wurden im Sommer schon gut heiß, aber die Hoymiles sind gut verbaut und regeln ab 80° automatisch runter und bis dahin war noch nicht, aber 75° hatte ich schon.

      1 Reply Last reply Reply Quote 0
      • K
        KaFaBe @seebaernd last edited by

        @seebaernd Welchen Typ bei den Registern hast du dafür ausgewählt?
        Hab jetzt 8 und 16 Bit ausprobiert. Passt aber nicht zu den aktuellen Temperaturen draußen.

        1 Reply Last reply Reply Quote 0
        • S
          s8472 last edited by s8472

          Hallo,
          ich habe mich seit gestern auch einmal mit den Modbus Datenpunkten der DTU befasst und an mir selbst gezweifelt. (DTU-Pro-S mit HMS-800-2T)
          Schuld ist die Adressierung, die die DTU verwendet. diese ist Byte-orientiert. Das führt dazu, dass die Adressen zwischen DTU und ioBroker (und anderen Modbus Clients) abweichen: die DTU zählt die Bytes ab der Startadresse hoch. ioBroker und andere zählen die Worte ab der Startadresse hoch. Und da die Register immer als Block (function code 0x03) gelesen werden...

          Wichtig ist in den Allgemeinen Einstellungen noch die Blockgröße von 40 (oder einem Mehrfachen davon) Registern:
          Clipboard01.png

          Hier einmal beispielhaft meine Datenpunkte für die Holding-Register:

          _address	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
          4096	Inverter.1.SN.0			uint8be	1	1	0	x.toString(16)	value		true	false	false	false
          4097	Inverter.1.SN.1			uint8le	1	1	0	x.toString(16)	value		true	false	false	false
          4097	Inverter.1.SN.2			uint8be	1	1	0	x.toString(16)	value		true	false	false	false
          4098	Inverter.1.SN.4			uint8be	1	1	0	x.toString(16)	value		true	false	false	false
          4098	Inverter.1.SN.3			uint8le	1	1	0	x.toString(16)	value		true	false	false	false
          4099	Inverter.1.SN.5			uint8le	1	1	0	x.toString(16)	value		true	false	false	false
          4099	Inverter.1.Port			uint8be	1	1	0		value		true	false	false	false
          4100	Inverter.1.PV.Spannung		V	uint16be	1	0.1	0		value		true	false	false	false
          4101	Inverter.1.PV.Strom		A	uint16be	1	0.01	0		value		true	false	false	false
          4102	Inverter.1.Netz.Spannung		V	uint16be	1	0.1	0		value		true	false	false	false
          4103	Inverter.1.Netz.Frequenz		Hz	uint16be	1	0.01	0		value		true	false	false	false
          4104	Inverter.1.PV.Leistung		W	uint16be	1	0.1	0		value		true	false	false	false
          4105	Inverter.1.Energie.heute		Wh	uint16be	1	1	0		value		true	false	false	false
          4106	Inverter.1.Energie.gesamt		Wh	uint32be	2	1	0		value		true	false	false	false
          4108	Inverter.1.Temperatur		°C	int16be	1	0.1	0		value.temperature		true	false	false	false
          4109	Inverter.1.Status			int16be	1	1	0		state		true	false	false	false
          4110	Inverter.1.Alarm.Code			int16be	1	1	0		state		true	false	false	false
          4111	Inverter.1.Alarm.Count			int16be	1	1	0		value		true	false	false	false
          

          Ergebis:
          1cbd9377-e64f-4cc4-838f-5e0acc5c767a-image.png

          S S 3 Replies Last reply Reply Quote 0
          • S
            SigiKa @s8472 last edited by

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

            Hallo,
            ich habe mich seit gestern auch einmal mit den Modbus Datenpunkten der DTU befasst und an mir selbst gezweifelt...

            Hallo,

            ich hänge mich da mal dran, oder soll ich einen neuen Thread aufmachen?
            Im Prinzip geht es um das selbe Thema, HM-1500 an der DTU-Pro. Da habe ich gestern hochmotiviert damit begonnen an der DTU-Pro den Modbus umzustellen, Adresse vergeben und in ioBroker eingebunden.

            Soweit so gut, die passenden Adressen habe ich aus den Beiträgen weiter oben genommen (4116, 4120, ...) aber ich laufe ständig in einen Error, bekomme gar keine Werte raus:
            Poll error count: 1 code: {"errorCode":132,"exceptionCode":1,"message":"ILLEGAL FUNCTION"}

            Da hänge ich jetzt schon ganz verzweifelt rum, was mache ich falsch, dass das bei euch läuft und bei mir eine "ILLEGAL FUNCTION" schmeißt? Welche Function? Ich verwende ja keine anderen Einstellungen wie weiter oben angegeben. Zur Zeit habe ich nur mehr die Adresse 4116, "Power_1" zum Testen als Eingabe konfiguriert, oder muss ich die auch/oder als Holding eintragen?

            In manchen Beträgen zur DTU-Pro lese ich auch was von der Seriennummer, muss ich die auch wo eintragen? Bis dato habe ich nur die IP, Port und Adresse in den modbus Einstellungen eingetragen. Fehlt noch was, wo setze ich an um nicht schon an einer einzigen Adresse (4116) zu scheitern?

            Gruß
            Sigi

            1 Reply Last reply Reply Quote 0
            • S
              s8472 last edited by

              @sigika
              Hallo,
              "ILLEGAL FUNCTION" bezieht sich, soweit ich das beobachtet habe, auf den Modbus Function Code. Also um welchen registertyp es sich handelt, und ob im Block oder einzeln gelesen / geschrieben wird. Ich habe die Meldung immer bekommen, wenn (durch die unglückliche Adressberechnung der DTU) eine Adresse außerhalb des gültigen Adressbereichs heraus kam, oder nicht als Holding abgefragt habe (sie Register Liste von Hoymiles: function code 0x03.

              wichtig war bei mir, dass die 1. Adresse im Block mit der offiziellen Adressliste übereinstimmt und dann die Register ab da zusammenhängend im Block gelesen werden.

              Gruß

              1 Reply Last reply Reply Quote 0
              • S
                SigiKa last edited by

                @s8472

                Hallo,
                Danke, jetzt komme ich schon weiter. Da bin ich wohl auch an den komischen Offset der Adressen aus der DTU gescheitert. So wie es aussieht hat die DTU-Pro die selben Adressen/Register wie die DTU-Pro-S.

                Mit der Anleitung aus deiner Konfiguration und Eintrag in die Holdingregister, sehe ich jetzt auch Werte (nicht alle, weil schon finster und die Micros off sind ...) Aber den Error habe ich jetzt endlich weg.

                Eine DTU spezifische Frage hätte ich noch, vielleicht bist du auch schon darüber gestolpert:
                Nachdem die RS484 Schnittstelle auf "Remote Control" geändert wurde, funktioniert dann das "Export Management" noch? Ich verwende in meiner DTU eine Nulleinspeisung. Ist die dann noch aktiv, oder muss ich die jetzt ständig selber über den ioBroker abgleichen?
                Und wie schaut es mit der Verbindung zur Cloud aus, die ist mit der Umstellung des modbus auch nicht mehr aktiv, oder?

                1 Reply Last reply Reply Quote 0
                • S
                  s8472 last edited by

                  Moin,
                  zum Export Management kann ich nichts sagen. Habe ich nicht weiter getestet, weil ich es nicht nutze.
                  Die Cloud-Anbindung funktionierte bei mir weiter (habe ich zur Plausibilitätsprüfung der Messwerte verwendet).

                  1 Reply Last reply Reply Quote 0
                  • S
                    Shakesbier @s8472 last edited by

                    @s8472 mit welcher Adresse würde es denn mit Inverter 2 weitergehen?

                    Das ist ja echt irgendwie tricki das Ganze 🙈

                    Danke dir.

                    Gruß

                    1 Reply Last reply Reply Quote 0
                    • S
                      Shakesbier @s8472 last edited by

                      @s8472 Hi.

                      Also ich hab das jetzt mal so eingetragen.

                      Sieht soweit auch recht gut aus.

                      Nur bei der PV Leistung wird mir nur die Leistung von einem Solarmodul angezeigt. (Habe 2 Stück installiert)

                      Weißt du eventuell warum das so sein könnte?

                      Danke dir.

                      S 1 Reply Last reply Reply Quote 0
                      • S
                        s8472 @Shakesbier last edited by

                        Moin @shakesbier ,
                        ein Wechselrichtereingang belegt 1 Datenblock.
                        Ein Dualwechselrichter de entsprechen 2.
                        Das kann man auch an der Seriennummer erkennen.

                        S 1 Reply Last reply Reply Quote 0
                        • S
                          Shakesbier @s8472 last edited by

                          @s8472 Hi.

                          Danke schon mal.

                          Wie muss ich das denn in den Registern eintragen?

                          Bin da sehr unerfahren 🙈

                          Gruß Shakesbier

                          S 1 Reply Last reply Reply Quote 0
                          • S
                            s8472 @Shakesbier last edited by

                            Es sind immer 40er Datenblöcke.
                            deswegen ist es auch wichtig in den Allgemeinen Einstellungen die Blockgröße auf 40 Byte zu stellen.

                            4096	Inverter.1.SN.0
                            4097	Inverter.1.SN.1
                            4097	Inverter.1.SN.2
                            4098	Inverter.1.SN.3
                            4098	Inverter.1.SN.4
                            4099	Inverter.1.SN.5
                            4099	Inverter.1.Port
                            4100	Inverter.1.PV.Spannung
                            4101	Inverter.1.PV.Strom
                            4102	Inverter.1.Netz.Spannung
                            4103	Inverter.1.Netz.Frequenz
                            4104	Inverter.1.PV.Leistung
                            4105	Inverter.1.Energie.heute
                            4106	Inverter.1.Energie.gesamt
                            4108	Inverter.1.Temperatur
                            4109	Inverter.1.Status
                            4110	Inverter.1.Alarm.Code
                            4111	Inverter.1.Alarm.Count
                            4112	Inverter.1.Link
                            	
                            4136	Inverter.2.SN.0
                            4137	Inverter.2.SN.1
                            4137	Inverter.2.SN.2
                            4138	Inverter.2.SN.3
                            4138	Inverter.2.SN.4
                            4139	Inverter.2.SN.5
                            4139	Inverter.2.Port
                            4140	Inverter.2.PV.Spannung
                            4141	Inverter.2.PV.Strom
                            4142	Inverter.2.Netz.Spannung
                            4143	Inverter.2.Netz.Frequenz
                            4144	Inverter.2.PV.Leistung
                            4145	Inverter.2.Energie.heute
                            4146	Inverter.2.Energie.gesamt
                            4148	Inverter.2.Temperatur
                            4149	Inverter.2.Status
                            4150	Inverter.2.Alarm.Code
                            4151	Inverter.2.Alarm.Count
                            4152	Inverter.2.Link
                            	
                            4176	Inverter.3.SN.0
                            4177	Inverter.3.SN.1
                            4177	Inverter.3.SN.2
                            4178	Inverter.3.SN.3
                            4178	Inverter.3.SN.4
                            4179	Inverter.3.SN.5
                            4179	Inverter.3.Port
                            4180	Inverter.3.PV.Spannung
                            4181	Inverter.3.PV.Strom
                            4182	Inverter.3.Netz.Spannung
                            4183	Inverter.3.Netz.Frequenz
                            4184	Inverter.3.PV.Leistung
                            4185	Inverter.3.Energie.heute
                            4186	Inverter.3.Energie.gesamt
                            4188	Inverter.3.Temperatur
                            4189	Inverter.3.Status
                            4190	Inverter.3.Alarm.Code
                            4191	Inverter.3.Alarm.Count
                            4192	Inverter.3.Link
                            

                            und immer so weiter je Eingang

                            S 1 Reply Last reply Reply Quote 0
                            • S
                              Shakesbier @s8472 last edited by

                              @s8472 ahhhh jetzt verstehe ich.

                              Inverter 1 ist der 1. Eingang und Inverter 2 der 2. Eingang.

                              Jeder Eingang hat 40 Blöcke.

                              Wenn ich einen 2. Wechselrichter habe.

                              Beginnt der dann beim Block Inverter 3?

                              Gruß

                              S 1 Reply Last reply Reply Quote 0
                              • S
                                s8472 @Shakesbier last edited by

                                @shakesbier genau 👍

                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Shakesbier @s8472 last edited by

                                  @s8472 perfekt.

                                  Danke dir 😊

                                  Probier ich später mal aus

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

                                    @shakesbier
                                    So du bist der Beste.

                                    Klappt einwandfrei.

                                    Kann man den Chint Zähler auch per Modbus (Iobroker) auslesen?

                                    S 1 Reply Last reply Reply Quote 0
                                    • S
                                      s8472 @Shakesbier last edited by

                                      @shakesbier
                                      Ist der Zähler für Einspeisemanagement an die DTU angeschlossen? Dafür stehen keine Register in der Liste.
                                      Eventuell direkt in ioBroker einbinden?

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

                                        Bei firmware V00.02.23 von DTU, geht es nicht mehr mit diese daten.

                                        Poll error count: 1 code: {"errorCode":132,"exceptionCode":1,"message":"ILLEGAL FUNCTION"}

                                        Auf altere firmware, lief alles perfect

                                        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

                                        918
                                        Online

                                        31.6k
                                        Users

                                        79.5k
                                        Topics

                                        1.3m
                                        Posts

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