Sungrow SH Integration for Home Assistant for SH3.6RS, SH4.6RS, SH5.0RS, SH5.0RT, SH6.0RS, SH8.0RT, SH6.0RT, SH10RT SH5K-20, SH3K6, SH4K6, SH5K-V13, SH5K-30
Tested with my Sungrow SH10.RT Inverter and a PylonTech Force H1 battery, Home Assistant 2022.06 (current version).
Please let me know, if the integration works also with other Sungrow SHx models.
Community confirmed supported inverters (thanks for reporting!)
- SH10RT (via home assistant community, brix29 Axel)
- SH5.0RT(home assistant community, ptC7H12 Paul)
- SH8.0RT (github, lindehoff)
- SH5K-30 (github, ajbatchelor)
NOTE: Multiple issues have been reported from users with single phase inverters (sungrows nomenclature is SH3.RS - single phase, vs. SH10.RT - tree phase). These inverters seem to only support a subset of the modbus registers. Also there are issues with the WiNetS Adapter. Some users can use Modbus using WiNetS as ETH Port. For some users that won't work. If possible: ALWAYS use the native LAN port of your inerter (if existing!)
The Modbus register mapping is based on two documents, the Sungrow support sent me by eMail. I am not sure, if I am allowed to share the files, but maybe you can successfully search for them...
Communication.Protocol.of.Residential.Hybrid.Inverter_V1.0.23_EN
10.4 Communication Protocol_String Inverter_V1.1.36_EN.pdf
Display the status of the inverter:
Control the EMS (Energy Management System):
This does not come as a integration, you can set up by clicking something in the HomeAssistant GUI.
There is not "installation", more a "configuration". For this you need to add some information to the home assistant configuration files:
Use the Visual Studio Code Server add-on for configuration. In the screenshot the relevant files for the sungrow integration are highlighted, which you need to modify:
The yaml-based integration file needs 3 parameters as input. Copy the following lines in your secrets.yaml and adapt them:
sungrow_modbus_host_ip: 192.168.178.20 # TODO update with the IP of your inverter. No default. Check your router.
sungrow_modbus_port: 502 # TODO update with the Modbus port of your inverter. Default is '502'
sungrow_modbus_slave: 1 #TODO update with the slave address of your inverter. Default is '1'
The file modbus_sungrow.yaml contains the Modbus register maps and automations to set values. Copy the file to a subfolder named "integrations" (maybe create it first), which is located at the same level of your "configurations.yaml" (see screenshot).
Include "modbus_sungrow.yaml" by adding follwing lines to your "configuration.yaml":
homeassistant:
packages: !include_dir_named integrations
Do not forget to check your configuration (Developer Tools --> hit "check configuration" and restart (it won't work without a restart!)
After the restart, some new sensors should be available. E.g., check for "Total DC power"
- Create a new dashboard
- Click "Add new Card" and select "Entities"
- Copy the content of PV_Info.yaml from the repo and paste it in the new dashboard using the "raw configuration editor" (top right, the 3 dots). Ensure that the spacing keeps intact.
- Repeat steps 1-3 with PV_Control.yaml for a dashboard allowing to set EMS (Energy Management System) parameters.
Open the Energy settings ("Configuration" --> "Energy") and adapt the highlighted values as shown in the screenshot:
Note, that only the energy values in kWh are shown in this dashboard and not the current power dissipation (in W).
I only included the most important registers, which seem to be common between a wide range of Sungrow inverter models . There are many more registers in the Sungrow documents, which I left out.