Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      McBeath @DRUROB last edited by

      @DRUROB
      Mein Input Register vom SH8 RT

      _address	name	description	unit	type	len	factor	offset	formula	role	room	cw	isScale
      4999	Device type code	Geräte Typ-Code		int8be	1	1	0		value		false	false
      5000	Nominal Output Power	Installierte Leistung	Kw	uint16be	1	0.1	0		value		false	false
      5001	Output	Type		uint16be	1	1.0	0		value		false	false
      5002	Daily  Output Energy	Eigene Energienutzung heute (PV & Akku)	Kwh	uint16be	1	0.1	0		value		false	false
      5003	Total Output Energy	Eigene Energienutzung gesamt (PV & Akku)	Kwh	uint32sw	2	0.1	0		value		false	false
      5005	Total Runing Time	Laufzeit der Anlage	h	uint32sw	2	1.0	0		value		false	false
      5007	Inside  Temperature	Temperatur im Wechselrichter	°C	int16be	1	0.1	0		value		false	false
      5010	MPPT 1 Voltage	MPPT1 Spannung	V	uint16be	1	0.1	0		value		false	false
      5011	MPPT 1 Current	MPPT1 Strom	A	uint16be	1	0.1	0		value		false	false
      5012	MPPT 2 Voltage	MPPT2 Spannung	V	uint16be	1	0.1	0		value		false	false
      5013	MPPT 2 Current	MPPT2 Strom	A	uint16be	1	0.1	0		value		false	false
      5016	Total DC Power	Aktuell PV-Leistung DC	W	uint32sw	2	1	0		value		false	false
      5018	Spannung Ph A	Spannung Phase L1	V	uint16be	1	0.1	0		value		false	false
      5019	Spannung Ph B	Spannung Phase L2	V	uint16be	1	0.1	0		value		false	false
      5020	Spannung Ph C	Spannung Phase L3	V	uint16be	1	0.1	0		value		false	false
      5030	Total Active Power	Wirkleistung	W	int32sw	2	1.0	0		value		false	false
      5032	Reactive Power	Blindleistung	VA®	int32sw	2		0		value		false	false
      5034	Power Factor	Leistungsfaktor		int16be	1	0.001	0		value		false	false
      5035	Grid Frequency	Netzfrequenz	Hz	uint16be	1	0.01	0		value		false	false
      12999	System State	Systemstatus		uint16be	1	1	0		value		false	false
      13000	Running State	Betriebsstatus		uint16be	1	1	0		value		false	false
      13001	Daily PV Generation	PV-Stromerzeugung heute	Kwh	uint16be	1	0.1	0		value		false	false
      13002	Total PV  Generation	PV-Stromerzeugung gesamt	Kwh	uint32sw	2	0.1	0		value		false	false
      13004	Daily export  energy from PV	PV-Einspeise Energie heute	Kwh	uint16be	1	0.1	0		value		false	false
      13005	Total export  energy from PV	PV-Einspeise Energie gesamt	Kwh	uint32sw	2	0.1	0		value		false	false
      13007	Load power 	Aktuelle Last	W	uint32sw	2	1	0		value		false	false
      13009	Export power	Aktuelle Leistung am Übergabepunkt	W	int32sw	2	1	0		value		false	false
      13011	Daily battery charge energy from PV	Energie in Speicher aus PV heute	Kwh	uint16be	1	0.1	0		value		false	false
      13012	Total battery charge energy from PV	Energie in Speicher aus PV gesamt	Kwh	uint32sw	2	0.1	0		value		false	false
      13014	C02 Reduction	C02 Einsparung	kg	uint32sw	2	0.1	0		value		false	false
      13016	Daily direct  Energy Consumption	Direkter Eigenverbrauch aus PV heute	Kwh	uint16be	1	0.1	0		value		false	false
      13017	Total direct  Energy Consumption	Direkter Eigenverbrauch aus PV gesamt	Kwh	uint32sw	2	0.1	0		value		false	false
      13019	Battery voltage	Batteriespannung	V	uint16be	1	0.1	0		value		false	false
      13020	Battery current	Batteriestrom	A	uint16be	1	0.1	0		value		false	false
      13021	Battery power	Batterieent-Ladeleistung	W	uint16be	1	1	0		value		false	false
      13022	Battery level	Batteriekapazität	%	uint16be	1	0.1	0		value		false	false
      13023	Battery state of health	Gesundheit der Batterie	%	uint16be	1	0.1	0		value		false	false
      13024	Battery Temperature	Batterietemperatur	°C	int16be	1	0.1	0		value		false	false
      13025	Daily battery discharge Energy	Tägliche Entladungsenergie der Batterie	Kwh	uint16be	1	0.1	0		value		false	false
      13026	Total battery discharge Energy	Gesamte Entladungsenergie der Batterie	Kwh	uint32sw	2	0.1	1		value		false	false
      13028	Self-consumption of today	Heutiger Anteil des Eigenverbrauches	%	uint16be	1	0.1	0		value		false	false
      13029	Grid state	Netzstatus		uint16be	1	0.1	0		value		false	false
      13030	Phase A current	Strom Phase L1 aktuell	A	uint16be	1	0.1	0		value		false	false
      13031	Phase B current	Strom Phase L2 aktuell	A	uint16be	1	0.1	0		value		false	false
      13032	Phase C current	Strom Phase L3 aktuell	A	uint16be	1	0.1	0		value		false	false
      13033	Total active power	Aktuell PV-Leistung AC	W	int32sw	2	1	0		value		false	false
      13035	Daily Import Energy	Energie Bezug heute	Kwh	uint16be	1	0.1	0		value		false	false
      13036	Total Import Energy	Energie Bezug gesamt	Kwh	uint16be	1	0.1	0		value		false	false
      13038	Battery Capacity	Batterie-Kapazität	Kwh	uint16be	1	0.1	0		value		false	false
      13039	Daily Charge Energy	Batterie-Ladeenergie heute	Kwh	uint16be	1	0.1	0		value		false	false
      13040	Total Charge Energy	Batterie-Ladeenergie gesamt	Kwh	uint32sw	2	0.1	0		value		false	false
      13044	Daily export energy	Energie Netzeinspeisung heute	Kwh	uint16be	1	0.1	0		value		false	false
      13045	Total export energy	Energie Netzeinspeisung gesamt	Kwh	uint32sw	2	0.1	0		value		false	false
      13049	Inverter alarm	Inverter alarm		uint32sw	2	1	0		value		false	false
      13051	Grid-side fault	Netzfehler		uint32sw	2	1	0		value		false	false
      13053	System fault 1	System Fehler 1		uint32sw	2	1	0		value		false	false
      13055	System fault 2	System Fehler 2		uint32sw	2	1	0		value		false	false
      13057	DC-side fault	Fehler DC-Seitig		uint32sw	2	1	0		value		false	false
      13059	Permanent fault	Permanenter Fehler		uint32sw	2	1	0		value		false	false
      13061	BDC-side fault	BDC-side fault		uint32sw	2	1	0		value		false	false
      13063	BDC-side permanent fault	BDC-side permanent fault		uint32sw	2	1	0		value		false	false
      13065	Battery fault	Batterie Fehler		uint32sw	2	1	0		value		false	false
      13067	Battery alarm	Battery Alarm		uint32sw	2	1	0		value		false	false
      13069	BMS alarm	BMS Alarm		uint32sw	2	1	0		value		false	false
      13071	BMS protection	BMS Sicherung		uint32sw	2	1	0		value		false	false
      13073	BMS fault 1	BMS Fehler 1		uint32sw	2	1	0		value		false	false
      13075	BMS fault 2	BMS Fehler 2		uint32sw	2	1	0		value		false	false
      13077	BMS alarm 2	BMS Alarm 2		uint32sw	2	1	0		value		false	false
      
      D 1 Reply Last reply Reply Quote 0
      • D
        DRUROB @McBeath last edited by

        @mcbeath Hi! Danke dir aber das sind die Register die ich ja schon hatte.
        Neu ist ja die Variante mit dem Auslesen der DTSU Werte und der Batterie.
        Kannst ja mal den Link in meinem Post folgen, vielleicht ist das ja was für dich

        W 1 Reply Last reply Reply Quote 0
        • W
          wolfi913 @DRUROB last edited by

          @drurob @McBeath

          Falls es weiterhilft.
          Hab das hierzu noch gefunden:
          https://github.com/mkaiser/Sungrow-SHx-Inverter-Modbus-Home-Assistant

          Dort wurde für die Register 13020 und 13021 von uint16 auf int16 umgestellt (sofern ich das richtig erkannt habe).

                - name: Battery current
                  unique_id: sg_battery_current
                  device_address: !secret sungrow_modbus_slave
                  address: 13020 # reg 13021
                  input_type: input
                  data_type: int16
                  precision: 1
                  unit_of_measurement: A
                  state_class: measurement
                  device_class: Current
                  scale: 0.1
                  scan_interval: 10
          
                # old firmware ( before october 2024): always positive battery power
                # use binary_sensor.battery_charging | discharging to retrieve the direction of the energy flow
                # new firmware: positive if charging and negative if discharging
                # with new firmware installed we could use this raw value directly as signed battery power
                # to support both firmwares we use the template sensor "signed battery power"
                - name: Battery power raw
                  unique_id: sg_battery_power_raw
                  device_address: !secret sungrow_modbus_slave
                  address: 13021 # reg 13022
                  input_type: input
                  data_type: int16 #updated to signed int, see issue #406
                  precision: 0
                  unit_of_measurement: W
                  device_class: power
                  state_class: measurement
                  scale: 1
                  scan_interval: 10
          
          

          Falls das klappt wird Register 13021 dann mit +/- geliefert. Dann müsste, wenn mit Script weiterverarbeitet wird, auf
          Screenshot 2025-02-04 093407.png
          bzw.

            // Modbus 13021_Battery_power
            battery = Math.abs(getState('modbus.0.inputRegisters.13021_Battery_power_').val);
          

          umgestellt werden (um evtl. Vorzeichen wieder zu entfernen), sofern die Lade-/Entladeleistung über den RunningState ermittelt wird.
          Screenshot 2025-02-04 093917.png

          D 1 Reply Last reply Reply Quote 0
          • D
            DRUROB @wolfi913 last edited by

            @wolfi913 Klasse Erklärung! Danke dir. Genau das hatte ich heute bei meiner Recherche auch vermutet und mit den int / uint Werten rumgespielt. Zack war es wieder korrekt. Das ist echt ne doofe Umstellung, ich werde mal eine Änderung bei github beim Ersteller der Liste anmerken, dann tappt der nächste nicht auch in diese "Falle".
            Klasse Forumsleute hier! Riesen Dank an alle!

            M 1 Reply Last reply Reply Quote 1
            • burghardpoe
              burghardpoe @ms111175 last edited by

              @ms111175 Hallo ms111175, ich habe genau das gleiche Problem. Wie hast du das damals gelöst? Ist ja schon eine ganze weile her.

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

                Ist mittlerweile in der neusten Winet-S2 Firmware die Möglichkeit gegeben dann endlich den MPPT3 abzufragen? Weil dann würde ich den Firmwareupdate beauftragen. Ansonsten muss ich den Waveshare mit RS485 / Ethernet anschließen.

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

                  Hallo,
                  Bei uns ist seit dieser Woche ein Sungrow SH 20T verbaut. Jetzt würde ich Ihn gerne einbinden. Aber leider weiß ich nicht genau wie ich das machen muss.
                  Folgendes habe ich bisher schon verstanden.

                  1. Ich habe nur einen LAN Port am WR. Ich benötige wohl zusätzliche Hardware, um per modbus die Daten abzugreifen. Aktuell ist der LAN Port bereits belegt, da icu die Daten nicut über WLAN sende. Welches Hardware Modul kann man mir empfehlen? Was benötige icu genau?
                  2. Es soll wohl über den waveshare funktionieren. Aktuell habe icu bereits einen, um meine beiden eastron Zähler einzubinden. Kann ich diesen dafür Mitbenutzen oder benötige icu einen komplett neuen? Wie muss icu das anschließen?

                  Ich hoffe, es kann mir jemand helfen.

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    GombersIOB @jwerlsdf last edited by

                    @jwerlsdf
                    Ein LAN-Port reicht. Obwohl das jetzt das erste Mal ist, dass ich von jemanden höre, es gebe nur einen LAN-Port.
                    Ansonsten ist die Einrichtung eigentlich schon mit dem ersten Beitrag dieses Threads gut beschrieben. Wenn Du mal ganz nach oben scrollst findest Du es.
                    Die Registerbelegung findest Du auf GitHub (https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222).

                    Ich würde da aber sukzessive vorgehen. Immer mal 5 Register eintragen und schauen obs funktioniert und dann weiter.

                    G J 2 Replies Last reply Reply Quote 0
                    • G
                      GombersIOB @GombersIOB last edited by

                      @gombersiob

                      Aktuell ist der LAN Port bereits belegt

                      Die Aussage verstehe ich nicht. Was heißt denn belegt? Man braucht doch nicht für jede Port-Adresse an einem Server einen eigenen LAN-Port!

                      Es soll wohl über den waveshare funktionieren.

                      Den Begriff kenne ich nicht. Wenn ich es suche, ist es wohl einfach nur eine Implementation, Modbus-Daten bereitzustellen. Aber wie das gemacht wird, ist doch vermutlich egal. Du brauchst die IP-Adresse und den Port, fertig!

                      1 Reply Last reply Reply Quote 0
                      • J
                        jwerlsdf @GombersIOB last edited by jwerlsdf

                        @gombersiob
                        Also ich habe jetzt keine weiter Hardware angeschlossen. Lan kabel steckt. Dementsprechend kein WLAN.
                        Ich habe die Einstellungen wie geschrieben entsprechend vorgenommen, der Adapter geht auf grün, aber ich bekomme keine Werte rein. Anbei zwei Bilder.
                        Screenshot_20250214-191527_Chrome.jpg
                        Screenshot_20250214-191417_Chrome.jpg
                        Wo liegt mein Fehler?

                        Folgende Fehler kommen

                        modbus.1
                        2025-02-14 19:36:58.348	error	Invalid object: {"type":"state","common":{"name":"Geräte Typ-Code","role":"value","type":"number","read":true,"write":false,"def":0,"unit":""},"native":{"regType":"inputRegs","address":-25002,"deviceId":1,"type":"int8be","len":"1","offset":"0","factor":"1"}}
                        
                        modbus.1
                        2025-02-14 19:36:58.348	error	Invalid data inputRegisters/0: {"_address":-25002,"name":"Device type code","description":"Geräte Typ-Code","unit":"","type":"int8be","len":"1","factor":"1","offset":"0","formula":"","role":"value","room":"","cw":false,"isScale":false,"deviceId":1,"address":-25002,"fullId":"modbus.1.0"}
                        
                        modbus.1
                        2025-02-14 19:36:58.347	error	Invalid inputRegisters address: -25002
                        
                        modbus.1
                        2025-02-14 19:36:58.347	error	Invalid inputRegisters address: -25001
                        
                        modbus.1
                        2025-02-14 19:36:58.347	error	Invalid inputRegisters address: -24999
                        
                        modbus.1
                        2025-02-14 19:36:58.346	error	Invalid inputRegisters address: -24998
                        
                        modbus.1
                        2025-02-14 19:36:58.346	error	Invalid inputRegisters address: -24994
                        

                        Unter WiNet-S2 System Weiterleitung der Informationen ist als Modbus die IP vom iobroker bereits automatisch eingetragen. Passt also. Scheint wohl an den register Einträgen zu liegen oder?

                        G 1 Reply Last reply Reply Quote 0
                        • G
                          GombersIOB @jwerlsdf last edited by

                          @jwerlsdf said in Sungrow WR SGH10RT erfolgreich mit MODBUS eingebunden:

                          -25002

                          Ein negatives Register "-25002" kann es nicht geben. Da sind Typo-Fehler in der Definition. Das sieht man auch in den in den Objekten gezeigten Namen. "NAN" bedeutet "Not A Number". Das heißt der Wert der an der Stelle, wo das Register erwartet wird, ausgelesen wird, ist eben keine Zahl.

                          Nur um einen Eindruck zu geben, wie das Ergebnis der EIngabe etwa aussehen müsste, sei hier mal ein Screenshot meiner Eingangsregister:
                          2929f7ed-1700-4bcf-ae2d-61d1db57008f-grafik.png

                          Vielleicht kannst Du ja damit den Fehler finden.

                          J 1 Reply Last reply Reply Quote 0
                          • J
                            jwerlsdf @GombersIOB last edited by

                            @gombersiob
                            Danke. Bei mir hat der slave gefehlt. Alias aus den Einstellungen rausgenommen und mehrere slaves hacken rein.
                            Jetzt habe ich zwei erfolgreich drinnen und bekomme die Werte. Nehme ich die Liste von github funktioniert es nicht, da dort der slave fehlt. Füge ich den hinzu bekomme ich einen Fehler weil irgendwas an der falschen Position ist. Hast du vlt für mich eine fertige Liste als Txt die ich importieren kann oder wie kann ich die Liste richtig bearbeiten und dann importieren?

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              berlinerbolle @jwerlsdf last edited by

                              @jwerlsdf

                              https://github.com/c0ldtech/sungrow

                              Da steht auch ein kurzer Text dazu. Aber @GombersIOB hat bestimmt auch eine einfachere Liste.

                              G 1 Reply Last reply Reply Quote 0
                              • G
                                GombersIOB @berlinerbolle last edited by

                                @berlinerbolle

                                Meine Liste habe ich schon mehrfach in diesem Thread gepostet. Den Slave muss man auch nur bei einer bestimmten Adapter-Einstellung eingeben. Was genau das war, fällt mir gerade nicht ein, ich komme auch nicht an die Einstellungen.
                                Den Slave kann man auch einfach in die Liste an die zweite Stelle hineineditieren und dann importieren.
                                Meine Liste zu nehmen ist vielleicht nicht sinnvoll. Sie ist von eine SH08RT, womöglich hat sich da mittlerweile waa geändert. Manches unterscheidet sich sowieso von WR zu WR. Wirklich sicher ist man nur mit der Beschreibung.

                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  berlinerbolle @GombersIOB last edited by

                                  @gombersiob

                                  Auch wieder wahr. Die die ich gepostet habe, ist von einem SH10RT.

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

                                    Und woher bekomme ich die Liste vom WR SH20T?

                                    G 1 Reply Last reply Reply Quote 0
                                    • G
                                      GombersIOB @jwerlsdf last edited by

                                      @jwerlsdf
                                      Ich glaube in der GitHub-Beschreibung ist ein Link. Und in der Beschreibung gibt es dann Fallunterscheidungen je nach WR.

                                      J 1 Reply Last reply Reply Quote 0
                                      • J
                                        jwerlsdf @GombersIOB last edited by

                                        @gombersiob
                                        Finde ich leider nicht 😖

                                        G 1 Reply Last reply Reply Quote 0
                                        • G
                                          GombersIOB @jwerlsdf last edited by

                                          @jwerlsdf

                                          Finde ich leider nicht

                                          Merkwürdig. Ich hatte es gleich. Es gibt aber ein paar GitHub Einträge, vielleicht ist die Quelle nicht überfall aufgeführt. ich füge mal ein Dokument von mir bei. Ob das aktuell ist, habe ich nicht geprüft.

                                          f2a8971f-a3b9-4dc1-8608-a7d3d3001a9e-Communication.Protocol.of.Residential.Hybrid.Inverter_V1.1.2_EN.pdf

                                          1 Reply Last reply Reply Quote 0
                                          • M
                                            Maddm @DRUROB last edited by

                                            @drurob
                                            ich würde mich gern mal an das Problem mit der Umstellung des Typs von 13021 dran hängen:
                                            Hallo zusammen, ich hab an meiner PV seit fast 2 Jahren einen SH80RT Wechselrichter, dessen Daten ich via Modbus per IOBroker auslese und visualisiere die Daten in einem Stromflussdiagramm, dessen Logik ich komplett von hier übernommen habe.

                                            Durch die Umstellung war der angezeigte Ladewert viel zu hoch, durch Suche habe ich gefunden, dass man den Type von 13021 selbst umstellen kann (unter Instanzen - modbus0 - Eingangsregister - den Typ von 13021 von unsigned 16 bit (Big Endian) umstellen auf signed 16 bit (Big Endian)".
                                            Danach stehen in 13021 korrekte Werte, mit Vorzeichen drin (negative Werte = Ladung in die Batterie, positive Werte: Entladung der Batterie).

                                            Welche Änderung muss ich jetzt im Blockly bzw. im Scriptblock, der auf der oben verlinken Seite drauf ist machen, damit die Berechnung der einzelnen Werte (Stromfluss in/von der Batterie, ins/vom Netz) wieder passen?

                                            W G 2 Replies 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

                                            591
                                            Online

                                            31.9k
                                            Users

                                            80.2k
                                            Topics

                                            1.3m
                                            Posts

                                            hardware sungrow sgh10rt modbu
                                            130
                                            860
                                            292070
                                            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