-
-
Save dnoegel/543c72ef722365a3934bbad0bb43e222 to your computer and use it in GitHub Desktop.
_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 | |||
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 | |||
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 | PV-Leistung aktuell | W | uint32sw | 2 | 1 | 0 | value | false | false | |||
5018 | Spannung Ph A | Spannung Phase A | V | uint16be | 1 | 0.1 | 0 | value | false | false | |||
5019 | Spannung Ph B | Spannung Phase C | V | uint16be | 1 | 0.1 | 0 | value | false | false | |||
5020 | Spannung Ph C | Spannung Phase C | V | uint16be | 1 | 0.1 | 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.1 | 0 | value | false | false | |||
6226 | Monthly PV energy yields January | Monatlicher PV Energieertrag Januar | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6227 | Monthly PV energy yields February | Monatlicher PV Energieertrag Februar | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6228 | Monthly PV energy yields March | Monatlicher PV Energieertrag März | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6229 | Monthly PV energy yields April | Monatlicher PV Energieertrag April | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6230 | Monthly PV energy yields May | Monatlicher PV Energieertrag Mai | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6231 | Monthly PV energy yields June | Monatlicher PV Energieertrag Juni | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6232 | Monthly PV energy yields July | Monatlicher PV Energieertrag Juli | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6233 | Monthly PV energy yields August | Monatlicher PV Energieertrag August | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6234 | Monthly PV energy yields September | Monatlicher PV Energieertrag September | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6235 | Monthly PV energy yields October | Monatlicher PV Energieertrag Oktober | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6236 | Monthly PV energy yields November | Monatlicher PV Energieertrag November | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6237 | Monthly PV energy yields December | Monatlicher PV Energieertrag Dezember | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6416 | Monthly direct energy consumption from PVJanuary | Monatlicher Energieverbrauch von PV-Anlage im Januar | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6417 | Monthly direct energy consumption from PV February | Monatlicher Energieverbrauch von PV-Anlage im Februar | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6418 | Monthly direct energy consumption from PV March | Monatlicher Energieverbrauch von PV-Anlage im März | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6419 | Monthly direct energy consumption from PV April | Monatlicher Energieverbrauch von PV-Anlage im April | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6420 | Monthly direct energy consumption from PV May | Monatlicher Energieverbrauch von PV-Anlage im Mai | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6421 | Monthly direct energy consumption from PV June | Monatlicher Energieverbrauch von PV-Anlage im Juni | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6422 | Monthly direct energy consumption from PV July | Monatlicher Energieverbrauch von PV-Anlage im Juli | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6423 | Monthly direct energy consumption from PV August | Monatlicher Energieverbrauch von PV-Anlage im August | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6424 | Monthly direct energy consumption from PV Septemper | Monatlicher Energieverbrauch von PV-Anlage im September | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6425 | Monthly direct energy consumption from PV October | Monatlicher Energieverbrauch von PV-Anlage im Oktober | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6426 | Monthly direct energy consumption from PV November | Monatlicher Energieverbrauch von PV-Anlage im November | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6427 | Monthly direct energy consumption from PV december | Monatlicher Energieverbrauch von PV-Anlage im Dezember | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6595 | Monthly export energy from PV January | Monatlicher Energieexport aus PV-Anlage Januar | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6596 | Monthly export energy from PV February | Monatlicher Energieexport aus PV-Anlage Februar | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6597 | Monthly export energy from PV March | Monatlicher Energieexport aus PV-Anlage März | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6598 | Monthly export energy from PV April | Monatlicher Energieexport aus PV-Anlage April | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6599 | Monthly export energy from PV May | Monatlicher Energieexport aus PV-Anlage Mai | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6600 | Monthly export energy from PV June | Monatlicher Energieexport aus PV-Anlage Juni | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6601 | Monthly export energy from PV July | Monatlicher Energieexport aus PV-Anlage Juli | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6602 | Monthly export energy from PV August | Monatlicher Energieexport aus PV-Anlage August | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6603 | Monthly export energy from PV September | Monatlicher Energieexport aus PV-Anlage September | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6604 | Monthly export energy from PV October | Monatlicher Energieexport aus PV-Anlage Oktober | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6605 | Monthly export energy from PV November | Monatlicher Energieexport aus PV-Anlage November | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
6606 | Monthly export energy from PV Dezember | Monatlicher Energieexport aus PV-Anlage Dezember | Kwh | uint16be | 1 | 0.1 | 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 | Wirkleistung gesamt | W | int32sw | 2 | 1 | 0 | value | false | false | |||
13009 | Export power | Aktuelle Leistung am Übergabepunkt des Versorgungsnetzes | W | int32sw | 2 | 1 | 0 | value | false | false | |||
13011 | Daily battery charge energy from PV | Energie in Speicher heute | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
13012 | Total battery charge energy from PV | Energie in Speicher gesamt | Kwh | uint32sw | 2 | 0.1 | 0 | value | false | false | |||
13014 | CO2-reduction | CO2- Reduzierung | 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 | Batterieladeleistung | 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 | int16be | 1 | 0.1 | 0 | value | false | false | ||||
13030 | Phase A current | Strom Phase A aktuell | A | uint16be | 1 | 0.1 | 0 | value | false | false | |||
13031 | Phase B current | Strom Phase B aktuell | A | uint16be | 1 | 0.1 | 0 | value | false | false | |||
13032 | Phase C current | Strom Phase C aktuell | A | uint16be | 1 | 0.1 | 0 | value | false | false | |||
13033 | Total active power | Eigenverbrauch aktuell | W | int32sw | 2 | 1 | 0 | value | false | false | |||
13035 | Daily Import Energy | Gekaufte Energie heute | Kwh | uint16be | 1 | 0.1 | 0 | value | false | false | |||
13036 | Total Import Energy | Gekaufte Energie 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 protection | uint32sw | 2 | 1 | 0 | value | false | false | ||||
13073 | BMS fault 1 | BMS fault 1 | uint32sw | 2 | 1 | 0 | value | false | false | ||||
13075 | BMS fault 2 | BMS fault 2 | uint32sw | 2 | 1 | 0 | value | false | false | ||||
13077 | BMS alarm 2 | BMS alarm 2 | uint32sw | 2 | 1 | 0 | value | false | false |
I was missing a few more values to use them in the openWB wallbox. Did a lot of adress dump + search, since also the latest Sunggrow modbus specs are incomplete. Have a look at https://github.com/Mantelinho/core/blob/patch_sungrow_modbus/packages/modules/devices/sungrow/modbus.md.
Most interesting maybe (for SH inverter connected via LAN):
- Register 5030 for AC load power at inverter (useful for effective delivered power)
- Register 13009 for total AC load power at smart meter, negative values if power consumed from net, positive if exported
- Register 5602, 5604, 5606 (int32sw) for load power per phase at smart meter
- Register 5740, 5741, 5742 for voltages per phase at smart meter. Attention: 5018/19/20 contain the voltages delivered at inverter!
Quick question: Is 5030 actually different from 13007?
The other ones I already listed here, in case you still need some more.
I was missing a few more values to use them in the openWB wallbox. Did a lot of adress dump + search, since also the latest Sunggrow modbus specs are incomplete. Have a look at https://github.com/openWB/core/blob/master/packages/modules/devices/sungrow/sungrow/modbus.md.
Most interesting maybe (for SH inverter connected via LAN):
- Register 5030 for AC load power at inverter (useful for effective delivered power)
- Register 13009 for total AC load power at smart meter, negative values if power consumed from net, positive if exported
- Register 5602, 5604, 5606 (int32sw) for load power per phase at smart meter
- Register 5740, 5741, 5742 for voltages per phase at smart meter. Attention: 5018/19/20 contain the voltages delivered at inverter!
Quick question: Is 5030 actually different from 13007?
The other ones I already listed here, in case you still need some more.
(edit: Sorry, I mixed this up with 13033)
13007 is the load in the local net (sum of AC consumption), in other words the sum of 13007 and 13009 equals 5030. But: if you have more than one producer (another inverter), 13007 may be negative since the SH does not consider other inverters in retrofit modus for register 13007.
So if you are looking for a 5030 alternative (e.g. if your SH is connected via WiNet), take 13033. They have the same value:
13033: SH via LAN and WiNet-S dongle
5030: SH via LAN and SG via WiNet-S dongle
Both hold the AC active power delivered by the inverter, the value you see as "Wirkleistung gesamt" in iSolarCloud Live-Data.
I think, the naming of 13023 is wrong.
It's giving the State of Charge, not the State of Health
So instead of
13023 Battery state of health Gesundheit der Batterie % uint16be 1 0.1 0
it should be13023 Battery state of charge Batterieladezustand % uint16be 1 0.1 0
What is then the difference to 13022 which is called "Battery level | Batteriekapazität". According to my experience 13023 really describe the health status of the battery in %. My system started with a value of 100% and is now after 1,5 year at 98%.
I think, the naming of 13023 is wrong.
It's giving the State of Charge, not the State of Health
So instead of
13023 Battery state of health Gesundheit der Batterie % uint16be 1 0.1 0
it should be
13023 Battery state of charge Batterieladezustand % uint16be 1 0.1 0What is then the difference to 13022 which is called "Battery level | Batteriekapazität". According to my experience 13023 really describe the health status of the battery in %. My system started with a value of 100% and is now after 1,5 year at 98%.
This is correct, it’s the same for me.
I think, the naming of 13023 is wrong.
I'm sorry, you're right: I misunderstood the output of qModMaster, which hover-displayed address 13022 for register 13023 (as long as I remember, because currently it doesn't read the values at all)
I will delete the comment above, because it was simply wrong!
I have added a small 800W inverter to my Sungrow SH10RT by plugging it into a non-backup outlet in the house (without doing any settings changes to the SH10RT). When the small inverters power exceeds the house load, the house load indicated in the iSolarCloud app turns negative as it should. However, the 13007 register for total AC load power does not produce negative values but stays at zero instead. Any ideas? The format upon reading should be OK as the same one produces pos and neg values for the 13009 register.
Please Add
Beim SH via LAN:
Register 5030 enthält die AC Wirkleistung pro WR (SH-LAN und SG-WiNet), alternativ
Register 13033 enthält die AC Wirkleistung pro WR (SH-LAN und SH-WiNet)
Register 13009 enthält die Gesamtwirkleistung am Smartmeter
Register 5602, 5604, 5606 enthalten die Wirkleistungen pro Phase am Smartmeter
Register 5740, 5741, 5742 enthalten die Spannungen pro Phase am Smartmeter
Confirmed here
https://forum.openwb.de/viewtopic.php?t=7804&start=10
Basically those are the values from comment https://gist.github.com/dnoegel/543c72ef722365a3934bbad0bb43e222?permalink_comment_id=5018788#gistcomment-5018788, please see linked document
From where do I get the official registers for my inverter? I have a SH20RT. The registers above seems to fit but I miss some registers. E.g. the MPPT 3 values are placed behind the MPPT 2 registers, but they are not in the list. I wonder if I miss more...
My Sungrow SH10RT-V112 inverter and SB096 battery changed the Modbus data type from uint16be to int16be for value
13021 | Battery power | Batterieladeleistung
with updates
- MDSP: SAPPHIRE-H_03011.95.03
- LCD: SAPPHIRE-H_01011.95.03
- SBRBCU-S_22011.01.24
I did a test with Loxone Miniserver and it works for me.
This simplified my logic for direction of battery power.
Also discussed here: mkaiser/Sungrow-SHx-Inverter-Modbus-Home-Assistant#406
Hi. I have a Sungrow SH10RT and want to invest in an additional battery from Sungrow. I do not find any informations about stearing the battery over modbus. Which channel I do have to use if I want to tell the battery to unload or load to a certain capacity. Is there a way using Openhab as a Smarthome System to stear the battery over CAN? Thanks for you help.
As far as I know, it is not possible to specify a target capacity per se. However, you can force charge and discharge with a specified power.
- register 13049: EMS mode selection, default 0, 2 = force mode
- register 13050: charge/discharge command, charge = 170, stop = 204, discharge = 187
- register 13051: charge/discharge power in W
and you can kind of specify the target capacity by using
- register 13057 MAX SOC in %
- register 13058 MIN SOC in %
Is there a way using Openhab as a Smarthome System to stear the battery over CAN?
I would definitely recommend using Home Assistant for this. With broad integration for just about everything, it outperforms most other smart home solutions.
For Sungrow, see https://github.com/mkaiser/Sungrow-SHx-Inverter-Modbus-Home-Assistant
As far as I know, it is not possible to specify a target capacity per se. However, you can force charge and discharge with a specified power.
- register 13049: EMS mode selection, default 0, 2 = force mode
- register 13050: charge/discharge command, charge = 170, stop = 204, discharge = 187
- register 13051: charge/discharge power in W
and you can kind of specify the target capacity by using
- register 13057 MAX SOC in %
- register 13058 MIN SOC in %
Thanks for your informations. But my inverter does not except any writing. Where can I change this?
Thanks for your informations. But my inverter does not except any writing. Where can I change this?
Die Register aus diesem Repo sind nur zum Lesen. Zum Schreiben brauchst du die sog. "holding register". Ich würde übrigens iobroker als Hausautomatisierung empfehlen, hat auch eine deutsche community. Da kannst du die Register selber verwalten und von hier copy/paste in den Modbus Adapter übernehmen.
Zusätzlich kannst du übrigens noch Register aus der id 200 der Batterie lesen, z.B. den nominellen SOC. Der Wechselrichter hat die id 1.
holding register für id 1 (write and read):
_address deviceId name description unit type len factor offset formula role room poll wp cw isScale
4999 1 System Clock Year Systemzeit Jahr uint16be 1 1 0 value true false false false
5000 1 System Clock Month Systemzeit Monat uint16be 1 1 0 value true false false false
5001 1 System Clock Day Systemzeit Tag uint16be 1 1 0 value true false false false
5002 1 System Clock Hour Systemzeit Stunde uint16be 1 1 0 value true false false false
5003 1 System Clock Minute Systemzeit Minute uint16be 1 1 0 value true false false false
12999 1 Inverter Start/Stop Start/Stop: START=207 (0xCF), STOP=206 (0xCE) uint16be 1 1 0 value true false false false
13000 1 Battery Maintenance Batteriewartung: AN=170 (0xAA), AUS=other uint16be 1 1 0 value true false false false
13001 1 Load Adjustment mode Energie Management Modus: Timing=0, ON/OFF=1, Energieoptimiert=2 uint16be 1 1 0 value true false false false
13002 1 Load 1 timing period 1: Start hour h uint16be 1 1 0 value true false false false
13003 1 Load 1 timing period 1: Start minute min uint16be 1 1 0 value true false false false
13004 1 Load 1 timing period 1: End hour min uint16be 1 1 0 value true false false false
13005 1 Load 1 timing period 1: End minute h uint16be 1 1 0 value true false false false
13006 1 Load 1 timing period 2: Start hour h uint16be 1 1 0 value true false false false
13007 1 Load 1 timing period 2: Start minute min uint16be 1 1 0 value true false false false
13008 1 Load 1 timing period 2: End hour h uint16be 1 1 0 value true false false false
13009 1 Load 1 timing period 2: End minute min uint16be 1 1 0 value true false false false
13010 1 Load 1 ON/OFF mode Load 1 ON/OFF mode: AN=170 (0xAA), AUS=85 (0x55) uint16be 1 1 0 value true false false false
13011 1 Load 1 power optimized mode: Start hour h uint16be 1 1 0 value true false false false
13012 1 Load 1 power optimized mode: Start minute min uint16be 1 1 0 value true false false false
13013 1 Load 1 power optimized mode: End hour h uint16be 1 1 0 value true false false false
13014 1 Load 1 power optimized mode: End Minute min uint16be 1 1 0 value true false false false
13015 1 Optimized power of load 1 Optimized power of load 1 W uint16be 1 1 0 value true false false false
13049 1 EMS mode selection EMS Modus: self_consume=0, forced=2, external=3, vpp=4, microgrid=8 uint16be 1 1 0 value true false false false
13050 1 Forced charge/discharge command Ext. Sollvorgabe: Laden=170 (0xAA), Entladen=187 (0xBB), Stop=204 (0xCC) uint16be 1 1 0 value true false false false
13051 1 Forced charge/discharge power Ext. Sollvorgabe Lade-/Entladeleistung (0 bis 5000W) W uint16be 1 1 0 value true false false false
13057 1 Max SOC Max SOC % uint16be 1 0.1 0 value true false false false
13058 1 Min SOC Min SOC % uint16be 1 0.1 0 value true false false false
13065 1 Max discharge current Max. Entlade Strom A int16be 1 0.001 0 value true false false false
13066 1 Max charge current Max. Lade Strom A int16be 1 0.001 0 value true false false false
13073 1 Export power limit Einspeise Limit W uint16be 1 1 0 value true false false false
13074 1 Export Power Backup Backup-Ausgang: AN=170 (0xAA), AUS=85 (0x55) uint16be 1 1 0 value true false false false
13079 1 External EMS heartbeat uint16be 1 1 0 value true false false false
13083 1 Start Charging Power Leistung, mit welcher ein Ladevorgang begonnen wird W uint16be 1 1 0 value true false false false
13084 1 Start Discharging Power Leistung, mit welcher ein Entladevorgang begonnen wird W uint16be 1 1 0 value true false false false
13085 1 Meter Comm Kommunikation mit Energie Meter des WR uint16be 1 1 0 value true false false false
13086 1 Export Power Limitation Einspeise Limitierung: AN=170 (0xAA), AUS=85 (0x55) uint16be 1 1 0 value true false false false
13099 1 Backup SOC reserve SOC Reserve für Backup % uint16be 1 1 0 value true false false false
30229 1 Global mpp scan Global mpp scan AN=170 (0xAA) AUS=85 (0x55) uint16be 1 1 0 value true false false false
33046 1 Battery max charge power Maximale Ladeleistung der Batterie W uint16be 1 10 0 value true false false false
33047 1 Battery max discharge power Maximale Entladeleistung der Batterie W uint16be 1 10 0 value true false false false
33148 1 Battery charging start power Start Ladeleistung der Batterie W uint16be 1 10 0 value true false false false
33149 1 Battery discharging start power Start Entladeleistung der Batterie W uint16be 1 10 0 value true false false false
input register id 200 (read only):
10710 200 Battery Serial Batterie Seriennummer string 10 1 0 value false false
10740 200 Battery1 Voltage Batteriespannung V uint16be 1 0.1 0 value false false
10741 200 Battery1 Current Batteriestrom A int16be 1 0.1 0 value false false
10742 200 Battery1 Temperature Batterietemperatur °C uint16be 1 0.1 0 value false false
10743 200 Battery1 SOC nominal Batterie SOC nominal % uint16be 1 0.1 0 value false false
10744 200 Battery1 SOH Batterie SOH % uint16be 1 1 0 value false false
10745 200 Battery1 Total Battery Charge Batterie-Ladeenergie gesamt kWh uint32sw 2 0.1 0 value false false
10747 200 Battery1 Total Battery Discharge Batterie-Entladeenergie gesamt kWh uint32sw 2 0.1 0 value false false
10756 200 Battery1 Max Voltage of Cell Battery Max Voltage of Cell V uint16be 1 0.0001 0 value false false
10757 200 Battery1 Position of Max Voltage Cell Battery Position of Max Voltage Cell uint16be 1 1 0 value false false
10758 200 Battery1 Min Voltage of Cell Battery Min Voltage of Cell V uint16be 1 0.0001 0 value false false
10759 200 Battery1 Position of Max Voltage Cell Battery Position of Max Voltage Cell uint16be 1 1 0 value false false
10760 200 Battery1 Max Temperature of Module Max Temperature of Module °C uint16be 1 0.1 0 value false false
10761 200 Battery1 Position of Max Temperature of Module Battery Position of Max Temperature of Module uint16be 1 1 0 value false false
10762 200 Battery1 Min Temperature of Module Min Temperature of Module °C uint16be 1 0.1 0 value false false
10763 200 Battery1 Position of Min Temperature of Module Battery Position of Min Temperature of Module uint16be 1 1 0 value false false
10764 200 Battery1 Max Cell Voltage of Module 1 Battery Max Cell Voltage of Module 1 V uint16be 1 0.0001 0 value false false
10765 200 Battery1 Max Cell Voltage of Module 2 Battery Max Cell Voltage of Module 2 V uint16be 1 0.0001 0 value false false
10766 200 Battery1 Max Cell Voltage of Module 3 Battery Max Cell Voltage of Module 3 V uint16be 1 0.0001 0 value false false
10767 200 Battery1 Max Cell Voltage of Module 4 Battery Max Cell Voltage of Module 4 V uint16be 1 0.0001 0 value false false
10768 200 Battery1 Max Cell Voltage of Module 5 Battery Max Cell Voltage of Module 5 V uint16be 1 0.0001 0 value false false
10769 200 Battery1 Max Cell Voltage of Module 6 Battery Max Cell Voltage of Module 6 V uint16be 1 0.0001 0 value false false
10770 200 Battery1 Max Cell Voltage of Module 7 Battery Max Cell Voltage of Module 7 V uint16be 1 0.0001 0 value false false
10771 200 Battery1 Max Cell Voltage of Module 8 Battery Max Cell Voltage of Module 8 V uint16be 1 0.0001 0 value false false
10772 200 Battery1 Min Cell Voltage of Module 1 Battery Min Cell Voltage of Module 1 V uint16be 1 0.0001 0 value false false
10773 200 Battery1 Min Cell Voltage of Module 2 Battery Min Cell Voltage of Module 2 V uint16be 1 0.0001 0 value false false
10774 200 Battery1 Min Cell Voltage of Module 3 Battery Min Cell Voltage of Module 3 V uint16be 1 0.0001 0 value false false
10775 200 Battery1 Min Cell Voltage of Module 4 Battery Min Cell Voltage of Module 4 V uint16be 1 0.0001 0 value false false
10776 200 Battery1 Min Cell Voltage of Module 5 Battery Min Cell Voltage of Module 5 V uint16be 1 0.0001 0 value false false
10777 200 Battery1 Min Cell Voltage of Module 6 Battery Min Cell Voltage of Module 6 V uint16be 1 0.0001 0 value false false
10778 200 Battery1 Min Cell Voltage of Module 7 Battery Min Cell Voltage of Module 7 V uint16be 1 0.0001 0 value false false
10779 200 Battery1 Min Cell Voltage of Module 8 Battery Min Cell Voltage of Module 8 V uint16be 1 0.0001 0 value false false
10780 200 Battery1 Cell Type of Module 1 Battery Cell Type of Module 1 uint16be 1 1 0 value false false
10781 200 Battery1 Cell Type of Module 2 Battery Cell Type of Module 2 uint16be 1 1 0 value false false
10782 200 Battery1 Cell Type of Module 3 Battery Cell Type of Module 3 uint16be 1 1 0 value false false
10783 200 Battery1 Cell Type of Module 4 Battery Cell Type of Module 4 uint16be 1 1 0 value false false
10784 200 Battery1 Cell Type of Module 5 Battery Cell Type of Module 5 uint16be 1 1 0 value false false
10785 200 Battery1 Cell Type of Module 6 Battery Cell Type of Module 6 uint16be 1 1 0 value false false
10786 200 Battery1 Cell Type of Module 7 Battery Cell Type of Module 7 uint16be 1 1 0 value false false
10787 200 Battery1 Cell Type of Module 8 Battery Cell Type of Module 8 uint16be 1 1 0 value false false
10788 200 Battery1 State DC Switch Battery State DC Switch uint16be 1 1 0 value false false
Those registers are "holding registers", which can be written to. You probably only have "input registers" configured right now, those only provide read-only data (metrics like power, voltage, etc.).
You can find those here.
edit: @0xdefec71f was faster
Hi. I have a Sungrow SH10RT and want to invest in an additional battery from Sungrow. I do not find any informations about stearing the battery over modbus. Which channel I do have to use if I want to tell the battery to unload or load to a certain capacity. Is there a way using Openhab as a Smarthome System to stear the battery over CAN? Thanks for you help.
Das Prozedere mit der Batterieaufrüstung habe ich auch schon hinter mir und würde das eher über die Sungrow App mit Installateurzugang machen. Diesen Händler-Zugang kannst du dir auch einfach selber registrieren und dich dann selbst von deinem privaten Zugang als zusätzlichen Installateur hinzufügen. Hier ist eine Anleitung von Sungrow: https://solarscouts.de/mediafiles/Sonstiges/Erweiterungsanleitung%20(DE)%20-%20SUNGROW%20SBR%20Speicher.pdf
Kurzfassung: Du musst anhand des Herstellungsdatums deiner neuen Batterien den ungefähren SOC berechnen und deine vorhandenen Zellen vor dem Einbau auf diesen SOC bringen. Der Min SOC wird dabei als Ziel SOC benutzt. Tipp: Setze vorher den Backup SOC auf 0% !
Do you know a value for testing from the inverter which I can read and write? I tried it with the 13048 but it is not working. Thank you for the lists. Where did you find it? Can you send me the direct link to it or as an real table.
I have to stay with Openhab, because the whole house is connected to this system!
@0xdefec71f Danke für den Tipp. Ich habe gestern noch mich selbst als Installateur aufgenommen. Das ist wirklich einfach und man hat mehr Möglichkeiten.
Do you know a value for testing from the inverter which I can read and write? I tried it with the 13048 but it is not working. Thank you for the lists. Where did you find it? Can you send me the direct link to it or as an real table.
All holding registers are writeable. Can you at least read them? I can't help you with Openhab and its modbus addons.
@0xdefec71f Thank you! I have just tested it with the system clock year and it worked. Thank you for your help. I think I can manage if the battery is delivered.
Hi, my battery is now installed and I am already testing. I can change the upper and lower limit of the battery. I can also see the chanages in the iSolarCloud App. But the inverter of sungrow will not limit the loading for example by 80%.
13057 1 Max SOC Max SOC % uint16be 1 0.1 0 value true false false false
13058 1 Min SOC Min SOC % uint16be 1 0.1 0 value true false false false
What am I doing wrong here?
The Batterie_EMS_Mode_Selection I set to 0 and
the Batterie_Forced_charge_discharge to "204"
For me register 13057 works fine with your settings. But it could be the case, that your set upper limit is ignored, because the system needs to calibrate the new/whole battery after your installation. It does that from time to time, because LiFePo Batteries need to calculate the SOC from the taken energy and can not simply rely on the cell voltage as other lithium types. You can only see that in register 10743 (Battery1 SOC nominal), which shows the real SOC.
Register 13022 will only show you the battery SOC subtracted your limits. So if your max SOC is set to 80% and your (real nominal) battery SOC is 80%, then register 13022 will show you 100%. And this is also the value, which is always shown in the sungrow app. I don't know why sungrow did this, but it confuses a lot of people.
if it is not that, the problem may lie within Openhab.
10743 is not a holding register! It is input register with ID 200.
13057 is a holding register with ID 1.
Another question. I also do not find this 2 informations in the Register:

Right now I calculate it very complicated. But I want the right informations directly from Sungrow Modbus Binding
-
Loading or Unloading of the battery in W and
I used 13021. But this register will show me something with 65000 W if I load or stoped the battery loading. Unloading is fine. -
Only the power from the panels without the power from the battery
@hessenkletterer again, i cannot help you with OpenHAB. Maybe it's the configuration, maybe your inverter or battery. With id 200 you are talking directly with the battery through the inverter. That's why only sungrow batteries are compatible with id 200.
Also this could be a reason:
Try to delete all registers, you do not need. The most interesting values could be cut down to about 10 or 20 registers. If there is an error message, read it!
- is 13021, but it looks like you disconfigured the datatype. this is a signed register: int16be
- is 5016
@hessenkletterer (disclaimer I use home assistant and never seen your tools. Below tips are pure speculation and deductions). Simply use your inverter modbus and don’t attempt for the battery directly.
- Check on Ethernet. Use the back ethernet port. It allows to access more registers. Don’t use dongle WiFi and don’t use the dongle ethernet.
- Check the ip. If you did connect to the back ethernet, your dhcp (I guess your FRITZ!Box) did assign an ip to it.
- Check your parent bridge. Use above ip and set modbus device to "1" to talk to your inverter.
- Set start to 13022 which is the register of battery level/soc.
- Set length to 1. tldr: Sungrow uses word register lengths; 2 bytes big endian per register.
this would be analog to any other register. However, I recommend home assistant or iobroker. There’s just more support here on GitHub.
I was missing a few more values to use them in the openWB wallbox. Did a lot of adress dump + search, since also the latest Sunggrow modbus specs are incomplete. Have a look at https://github.com/openWB/core/blob/master/packages/modules/devices/sungrow/sungrow/modbus.md.
Most interesting maybe (for SH inverter connected via LAN):