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. Praktische Anwendungen (Showcase)
  4. [How-To] Goodwe Wechselrichter und Modbus TCP

NEWS

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

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

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

[How-To] Goodwe Wechselrichter und Modbus TCP

Geplant Angeheftet Gesperrt Verschoben Praktische Anwendungen (Showcase)
goodwemodbustcptcpip
144 Beiträge 40 Kommentatoren 63.4k Aufrufe 39 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 Offline
    S Offline
    Stromy
    schrieb am zuletzt editiert von
    #135

    Hallo in die Runde,

    ich hoffe ihr könnt mir weiterhelfen.

    Habe hier einen Goodwe GW3648-EM mit LX U5.4-L dem ich gerne seine Daten über RS485 seriell entlocken möchte (nicht über TCP).
    Was man vom WR so abrufen konnte:
    FW Version 3121217
    ARM FW 02034.00
    BMS Version 27136

    Ich versuche die RS485 über einen Waveshare Adapter (FTDI) RS485 to USB abzufragen.
    Der Adapter hängt via USB an einem Raspberry 4B mit IOBroker und Modbus Adapter.

    An der RS485 habe ich sowohl die Pins 1 und 2, 3 und 6 sowie 1 mit 3 und 2 mit 6 verbunden getestet
    und auch jeweils + und - vertauscht, leider jeweils ohne Erfolg (im Forum gab's mal einen Tip bezüglich der Parallelschaltung von Pin 1+3 und 2+6. Deswegen auch dies ausprobiert!).

    Die Kommunikation ist konfiguriert mit 9600bit/s, 8/N/1, Geräte-ID mit 247

    Bekomme in keinem Fall eine brauchbare Kommunikation zustande.

    Der Modbus Adapter startet, wird kurz grün und geht dann wieder auf gelb.

    Ich hoffe, dass Ihr mir evtl. auf die Sprünge helfen könnt!

    Hier mal die Meldungen nach Start der Modbus Instanz mit debug:

    modbus.0
    2024-06-05 20:08:22.053 error Error response: Data address of some or all the required entities are not allowed or do not exist in slave

    modbus.0
    2024-06-05 20:08:22.052 error Error response for FCx3: Illegal Data Address

    modbus.0
    2024-06-05 20:08:21.779 debug [DevID_247/holdingRegs] Poll address 35103 - 6 registers

    modbus.0
    2024-06-05 20:08:21.779 debug Initialization of scale factors done!

    modbus.0
    2024-06-05 20:08:21.777 debug [DevID_247] Poll start ---------------------

    modbus.0
    2024-06-05 20:08:21.776 info Connected to slave

    modbus.0
    2024-06-05 20:08:21.762 debug connect to serial /dev/ttyUSB0 with 9600

    modbus.0
    2024-06-05 20:08:21.482 debug Add holdingRegisters.35108_PV2Current: {"_id":"holdingRegisters.35108_PV2Current","type":"state","common":{"name":"","role":"","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":35108,"deviceId":247,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}}

    modbus.0
    2024-06-05 20:08:21.482 debug Add holdingRegisters.35107_PV2_Voltage: {"_id":"holdingRegisters.35107_PV2_Voltage","type":"state","common":{"name":"","role":"","type":"number","read":true,"write":true,"def":0,"unit":"V"},"native":{"regType":"holdingRegs","address":35107,"deviceId":247,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}}

    modbus.0
    2024-06-05 20:08:21.482 debug Add holdingRegisters.35104_PV1_Current: {"_id":"holdingRegisters.35104_PV1_Current","type":"state","common":{"name":"","role":"","type":"number","read":true,"write":true,"def":0,"unit":"A"},"native":{"regType":"holdingRegs","address":35104,"deviceId":247,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}}

    modbus.0
    2024-06-05 20:08:21.481 debug Add holdingRegisters.35103_PV1_Voltage: {"_id":"holdingRegisters.35103_PV1_Voltage","type":"state","common":{"name":"","role":"","type":"number","read":true,"write":true,"def":0,"unit":"V"},"native":{"regType":"holdingRegs","address":35103,"deviceId":247,"type":"uint16be","len":1,"offset":0,"factor":1,"poll":true}}

    modbus.0
    2024-06-05 20:08:21.481 debug Initialize Objects for holdingRegs: [{"_address":35103,"name":"PV1 Voltage","description":"","unit":"V","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":35103,"deviceId":247,"id":"holdingRegisters.35103_PV1_Voltage"},{"_address":35104,"name":"PV1 Current","description":"","unit":"A","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","address":35104,"deviceId":247,"id":"holdingRegisters.35104_PV1_Current"},{"_address":35107,"name":"PV2 Voltage","description":"","unit":"V","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":247,"address":35107,"id":"holdingRegisters.35107_PV2_Voltage"},{"_address":35108,"name":"PV2Current","description":"","unit":"A","type":"uint16be","len":1,"factor":1,"offset":0,"formula":"","role":"","room":"","poll":true,"wp":"","cw":"","isScale":"","deviceId":247,"address":35108,"id":"holdingRegisters.35108_PV2Current"}]

    modbus.0
    2024-06-05 20:08:21.480 debug Initialize Objects for inputRegs: []

    modbus.0
    2024-06-05 20:08:21.479 debug Initialize Objects for coils: []

    modbus.0
    2024-06-05 20:08:21.479 debug Initialize Objects for disInputs: []

    modbus.0
    2024-06-05 20:08:21.326 info starting. Version 6.1.0 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.14.0, js-controller: 5.0.19

    modbus.0
    2024-06-05 20:08:20.894 debug Plugin sentry Initialize Plugin (enabled=true)

    modbus.0
    2024-06-05 20:08:20.856 debug States connected to redis: 127.0.0.1:9000

    modbus.0
    2024-06-05 20:08:20.796 debug States create User PubSub Client

    modbus.0
    2024-06-05 20:08:20.795 debug States create System PubSub Client

    modbus.0
    2024-06-05 20:08:20.787 debug Redis States: Use Redis connection: 127.0.0.1:9000

    modbus.0
    2024-06-05 20:08:20.768 debug Objects connected to redis: 127.0.0.1:9001

    modbus.0
    2024-06-05 20:08:20.759 debug Objects client initialize lua scripts

    modbus.0
    2024-06-05 20:08:20.742 debug Objects create User PubSub Client

    modbus.0
    2024-06-05 20:08:20.739 debug Objects create System PubSub Client

    modbus.0
    2024-06-05 20:08:20.728 debug Objects client ready ... initialize now

    modbus.0
    2024-06-05 20:08:20.688 debug Redis Objects: Use Redis connection: 127.0.0.1:9001
    host.raspberrypi
    2024-06-05 20:08:19.378 info instance system.adapter.modbus.0 started with pid 3270
    host.raspberrypi
    2024-06-05 20:08:19.252 info "system.adapter.modbus.0" enabled

    1 Antwort Letzte Antwort
    0
    • H Offline
      H Offline
      Hochgern
      schrieb am zuletzt editiert von
      #136

      Hallo, ich bin neu hier und habe folgendes Problem.
      Wechselrichter Goodwe ET29.9
      Kann via Modbus RTU Daten lesen und auch schreiben.
      Nur finde ich nicht raus, wie ich den Wechselrichter gezielt sagen kann, dass die Batterie jetzt mit einem Strom von xA geladen werden soll.
      Kann mir jemand weiterhelfen?

      M 1 Antwort Letzte Antwort
      0
      • H Hochgern

        Hallo, ich bin neu hier und habe folgendes Problem.
        Wechselrichter Goodwe ET29.9
        Kann via Modbus RTU Daten lesen und auch schreiben.
        Nur finde ich nicht raus, wie ich den Wechselrichter gezielt sagen kann, dass die Batterie jetzt mit einem Strom von xA geladen werden soll.
        Kann mir jemand weiterhelfen?

        M Offline
        M Offline
        Michi_Pi
        schrieb am zuletzt editiert von
        #137

        Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.

        G 2 Antworten Letzte Antwort
        0
        • M Michi_Pi

          Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.

          G Offline
          G Offline
          Guzzi-Charlie
          schrieb am zuletzt editiert von
          #138

          @michi_pi
          ich habe auch das Problem das richtige Register für die Steuerung des SoC zu finden. Ich habe einen GW25 und auch die aktuelle Registerbelegung von Goodwe (hoffe ich zumindest), aber ich finde einfach nicht das Register für die Werte die in der PV-Master APP mit "Entladungstiefe Netz/netzunabhängig" einstellbar sind. Der Zugriff über Modbus funktioniert.

          1 Antwort Letzte Antwort
          0
          • M Michi_Pi

            Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.

            G Offline
            G Offline
            Guzzi-Charlie
            schrieb am zuletzt editiert von
            #139

            Update:
            Kaum habe ich mich extra angemeldet um die Frage zu stellen, schon habe ich die Register nun doch gefunden. Es sind die Register 45356 für "Entladungstiefe am Netz" und 45358 für "Entladungstiefe netzunabhängig". Beachten muß man nur, daß man im Unterschied zur APP den SoC eingeben muß. Der Wert für die Entladungstiefe ist also 100-gewünschte Entladungstiefe.

            G 1 Antwort Letzte Antwort
            0
            • G Guzzi-Charlie

              Update:
              Kaum habe ich mich extra angemeldet um die Frage zu stellen, schon habe ich die Register nun doch gefunden. Es sind die Register 45356 für "Entladungstiefe am Netz" und 45358 für "Entladungstiefe netzunabhängig". Beachten muß man nur, daß man im Unterschied zur APP den SoC eingeben muß. Der Wert für die Entladungstiefe ist also 100-gewünschte Entladungstiefe.

              G Offline
              G Offline
              Guzzi-Charlie
              schrieb am zuletzt editiert von
              #140

              @michi_pi said in [How-To] Goodwe Wechselrichter und Modbus TCP:

              Hi @hochgern, es gibt verschiedene Möglichkeiten den Speicher zu laden. Ich selbst steuere das über die Schnelllade Funktion, das sind die Register 47545 = Fast chargin aktivieren, 47646 = SOC Stop und 47603 = Ladeleistung in %. Früher hab ich einfach den SOC minimum 45346 auf den gewünschten SOC wert eingestellt und dann wieder zurück bis der gewünschte Ladezustand erreicht wurde. Das funktioniert nur noch bedingt bei mir, da nur noch mit 450W geladen wird, wieso auch immer. Über die Register 47511 und 47512 würde auch gehen.

              Jetzt habe ich doch noch ein Problem. Die von mir genutzte Lösung mit dem Register 45356 für "Entladungstiefe am Netz" funktioniert zwar perfekt, aber leider wirkt dieses Register nur auf die Batterie 1. Die Batterie 2 hat einen eigenen Einstellwert (siehe SolarGo-APP), für den ich das zugehörige Register aber bisher nicht gefunden habe. Falls Jemand eine Idee hat, dann immer her damit.

              1 Antwort Letzte Antwort
              0
              • S Offline
                S Offline
                Sandmanyz
                schrieb am zuletzt editiert von
                #141

                Bei mir erscheinem im Log jede Minute diese Meldungen obwohl der Datenpunkt (aktuell nur einer) richtig aktualisiert wird...

                modbus.0	2025-03-04 15:51:09.572	info	Disconnected from slave 192.168.178.45
                modbus.0	2025-03-04 15:51:08.572	warn	[DevID_247] Poll error count: 1 code: {"err":"timeout","timeout":5000}
                modbus.0	2025-03-04 15:51:08.571	error	Client in error state.
                modbus.0	2025-03-04 15:51:08.571	error	Request timed out.
                modbus.0	2025-03-04 15:51:08.571	warn	Error: undefined
                modbus.0	2025-03-04 15:47:08.839	info	Connected to slave 192.168.178.45
                

                Was ist die Ursache?

                M 1 Antwort Letzte Antwort
                0
                • S Sandmanyz

                  Bei mir erscheinem im Log jede Minute diese Meldungen obwohl der Datenpunkt (aktuell nur einer) richtig aktualisiert wird...

                  modbus.0	2025-03-04 15:51:09.572	info	Disconnected from slave 192.168.178.45
                  modbus.0	2025-03-04 15:51:08.572	warn	[DevID_247] Poll error count: 1 code: {"err":"timeout","timeout":5000}
                  modbus.0	2025-03-04 15:51:08.571	error	Client in error state.
                  modbus.0	2025-03-04 15:51:08.571	error	Request timed out.
                  modbus.0	2025-03-04 15:51:08.571	warn	Error: undefined
                  modbus.0	2025-03-04 15:47:08.839	info	Connected to slave 192.168.178.45
                  

                  Was ist die Ursache?

                  M Offline
                  M Offline
                  Michi_Pi
                  schrieb am zuletzt editiert von
                  #142

                  @sandmanyz Hast du die die Abfragezeit schon mal etwas erhöht? Ich frage direkt über den EMS Port ab mit 8sekunden, das ist da Minimum das bei mir funktioniert.
                  Mit dem WIFI/LAN Dongle musste ich mindestens 12 Sekunden einstellen.

                  S 1 Antwort Letzte Antwort
                  0
                  • M Michi_Pi

                    @sandmanyz Hast du die die Abfragezeit schon mal etwas erhöht? Ich frage direkt über den EMS Port ab mit 8sekunden, das ist da Minimum das bei mir funktioniert.
                    Mit dem WIFI/LAN Dongle musste ich mindestens 12 Sekunden einstellen.

                    S Offline
                    S Offline
                    Sandmanyz
                    schrieb am zuletzt editiert von
                    #143

                    @michi_pi

                    Welchen Wert muss ich ändern? Datenabfrageintervall (schon mit 10000ms getestet) unde/oder Leseintervall (auch schon mit 10000ms getestet).
                    Habe auch mal auf Serial gewechselt aber da erscheinen auch Warnungen...

                    modbus.0	2025-03-13 18:14:24.716	info	Disconnected from slave
                    modbus.0	2025-03-13 18:14:24.666	warn	[DevID_247] Poll error count: 8 code: "App Timeout"
                    modbus.0	2025-03-13 18:14:19.465	info	Connected to slave
                    modbus.0	2025-03-13 18:13:19.451	info	Disconnected from slave
                    modbus.0	2025-03-13 18:13:19.399	warn	[DevID_247] Poll error count: 7 code: "App Timeout"
                    modbus.0	2025-03-13 18:13:14.198	info	Connected to slave
                    modbus.0	2025-03-13 18:12:14.182	info	Disconnected from slave
                    modbus.0	2025-03-13 18:12:14.130	warn	[DevID_247] Poll error count: 6 code: "App Timeout"
                    modbus.0	2025-03-13 18:11:58.878	warn	[DevID_247] Poll error count: 5 code: "App Timeout"
                    modbus.0	2025-03-13 18:11:43.625	warn	[DevID_247] Poll error count: 4 code: "App Timeout"
                    modbus.0	2025-03-13 18:11:28.372	warn	[DevID_247] Poll error count: 3 code: "App Timeout"
                    modbus.0	2025-03-13 18:11:13.120	warn	[DevID_247] Poll error count: 2 code: "App Timeout"
                    modbus.0	2025-03-13 18:10:57.867	warn	[DevID_247] Poll error count: 1 code: "App Timeout"
                    modbus.0	2025-03-13 18:10:52.664	info	Connected to slave
                    modbus.0	2025-03-13 18:10:52.196	info	starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.18.2, js-controller: 7.0.6
                    

                    Hier meine aktuelle Konfiguration:
                    e94abf7f-22d9-4983-bc60-eaf205d0928d-grafik.png
                    9c037be0-91db-437a-90c4-6435902e08f9-grafik.png
                    4a09cb36-9949-4b23-a171-a0314c209701-grafik.png

                    M 1 Antwort Letzte Antwort
                    0
                    • S Sandmanyz

                      @michi_pi

                      Welchen Wert muss ich ändern? Datenabfrageintervall (schon mit 10000ms getestet) unde/oder Leseintervall (auch schon mit 10000ms getestet).
                      Habe auch mal auf Serial gewechselt aber da erscheinen auch Warnungen...

                      modbus.0	2025-03-13 18:14:24.716	info	Disconnected from slave
                      modbus.0	2025-03-13 18:14:24.666	warn	[DevID_247] Poll error count: 8 code: "App Timeout"
                      modbus.0	2025-03-13 18:14:19.465	info	Connected to slave
                      modbus.0	2025-03-13 18:13:19.451	info	Disconnected from slave
                      modbus.0	2025-03-13 18:13:19.399	warn	[DevID_247] Poll error count: 7 code: "App Timeout"
                      modbus.0	2025-03-13 18:13:14.198	info	Connected to slave
                      modbus.0	2025-03-13 18:12:14.182	info	Disconnected from slave
                      modbus.0	2025-03-13 18:12:14.130	warn	[DevID_247] Poll error count: 6 code: "App Timeout"
                      modbus.0	2025-03-13 18:11:58.878	warn	[DevID_247] Poll error count: 5 code: "App Timeout"
                      modbus.0	2025-03-13 18:11:43.625	warn	[DevID_247] Poll error count: 4 code: "App Timeout"
                      modbus.0	2025-03-13 18:11:28.372	warn	[DevID_247] Poll error count: 3 code: "App Timeout"
                      modbus.0	2025-03-13 18:11:13.120	warn	[DevID_247] Poll error count: 2 code: "App Timeout"
                      modbus.0	2025-03-13 18:10:57.867	warn	[DevID_247] Poll error count: 1 code: "App Timeout"
                      modbus.0	2025-03-13 18:10:52.664	info	Connected to slave
                      modbus.0	2025-03-13 18:10:52.196	info	starting. Version 6.3.2 in /opt/iobroker/node_modules/iobroker.modbus, node: v20.18.2, js-controller: 7.0.6
                      

                      Hier meine aktuelle Konfiguration:
                      e94abf7f-22d9-4983-bc60-eaf205d0928d-grafik.png
                      9c037be0-91db-437a-90c4-6435902e08f9-grafik.png
                      4a09cb36-9949-4b23-a171-a0314c209701-grafik.png

                      M Offline
                      M Offline
                      Michi_Pi
                      schrieb am zuletzt editiert von
                      #144

                      @sandmanyz hier meine Einstellung 7be1c752-8345-4997-853a-870175d2b880-image.png

                      Zu den Verbindungsparameter kann ich jetzt nichts sagen, weil ich nicht weis mit welchem Gerät du abfrägst.

                      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

                      348

                      Online

                      32.4k

                      Benutzer

                      81.5k

                      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