Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. [gelöst] Benötige Hilfe MODBUS TCP: Hoymiles HM-1500/DTU-PRO

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    511

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.7k

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

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

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
87 Beiträge 24 Kommentatoren 30.5k Aufrufe 24 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • S 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 Offline
    S Offline
    Shakesbier
    schrieb am zuletzt editiert von
    #76

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

    Das ist ja echt irgendwie tricki das Ganze 🙈

    Danke dir.

    Gruß

    1 Antwort Letzte Antwort
    0
    • S 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 Offline
      S Offline
      Shakesbier
      schrieb am zuletzt editiert von
      #77

      @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 Antwort Letzte Antwort
      0
      • S Shakesbier

        @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 Offline
        S Offline
        s8472
        schrieb am zuletzt editiert von
        #78

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

        S 1 Antwort Letzte Antwort
        0
        • S s8472

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

          S Offline
          S Offline
          Shakesbier
          schrieb am zuletzt editiert von
          #79

          @s8472 Hi.

          Danke schon mal.

          Wie muss ich das denn in den Registern eintragen?

          Bin da sehr unerfahren 🙈

          Gruß Shakesbier

          S 1 Antwort Letzte Antwort
          0
          • S Shakesbier

            @s8472 Hi.

            Danke schon mal.

            Wie muss ich das denn in den Registern eintragen?

            Bin da sehr unerfahren 🙈

            Gruß Shakesbier

            S Offline
            S Offline
            s8472
            schrieb am zuletzt editiert von
            #80

            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 Antwort Letzte Antwort
            0
            • S s8472

              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 Offline
              S Offline
              Shakesbier
              schrieb am zuletzt editiert von
              #81

              @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 Antwort Letzte Antwort
              0
              • S Shakesbier

                @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 Offline
                S Offline
                s8472
                schrieb am zuletzt editiert von
                #82

                @shakesbier genau 👍

                S 1 Antwort Letzte Antwort
                0
                • S s8472

                  @shakesbier genau 👍

                  S Offline
                  S Offline
                  Shakesbier
                  schrieb am zuletzt editiert von
                  #83

                  @s8472 perfekt.

                  Danke dir 😊

                  Probier ich später mal aus

                  S 1 Antwort Letzte Antwort
                  0
                  • S Shakesbier

                    @s8472 perfekt.

                    Danke dir 😊

                    Probier ich später mal aus

                    S Offline
                    S Offline
                    Shakesbier
                    schrieb am zuletzt editiert von
                    #84

                    @shakesbier
                    So du bist der Beste.

                    Klappt einwandfrei.

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

                    S 1 Antwort Letzte Antwort
                    0
                    • S Shakesbier

                      @shakesbier
                      So du bist der Beste.

                      Klappt einwandfrei.

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

                      S Offline
                      S Offline
                      s8472
                      schrieb am zuletzt editiert von
                      #85

                      @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 Antwort Letzte Antwort
                      0
                      • L Offline
                        L Offline
                        leopard330
                        schrieb am zuletzt editiert von
                        #86

                        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 Antwort Letzte Antwort
                        0
                        • Frank WetterichF Offline
                          Frank WetterichF Offline
                          Frank Wetterich
                          schrieb am zuletzt editiert von
                          #87

                          Hallo zusammen,
                          ich habe eine generelle Frage zu den Daten.
                          Ihr verwendet Uint16 (generell) und Uint32 (für Total Production)

                          Aber hat nicht ein Register 2 Byte, also füllt das Uint16 schon aus?
                          Mein Gedanke: müssten nicht alle Daten Uint32 sein und Total Production Unit64?
                          Vielleicht habe ich einen Denkfehler - gern korrigieren ;)

                          Gruß Faddl

                          1 Antwort Letzte Antwort
                          0
                          Antworten
                          • In einem neuen Thema antworten
                          Anmelden zum Antworten
                          • Älteste zuerst
                          • Neuste zuerst
                          • Meiste Stimmen


                          Support us

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

                          425

                          Online

                          32.5k

                          Benutzer

                          81.8k

                          Themen

                          1.3m

                          Beiträge
                          Community
                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                          ioBroker Community 2014-2025
                          logo
                          • Anmelden

                          • Du hast noch kein Konto? Registrieren

                          • Anmelden oder registrieren, um zu suchen
                          • Erster Beitrag
                            Letzter Beitrag
                          0
                          • Home
                          • Aktuell
                          • Tags
                          • Ungelesen 0
                          • Kategorien
                          • Unreplied
                          • Beliebt
                          • GitHub
                          • Docu
                          • Hilfe