Sungrow SH10.RT Modbus integration

HA Core 2025.1.4 has broken the Modbus connection for my SR10RT. Anyone else having a similar issue? (My SR10RS was working fine). I have reverted to 2025.1.3 and all is working fine again.

There is this change Fix slave id equal to 0 by crug80 · Pull Request #136263 · home-assistant/core · GitHub maybe that will help you

Anyone know where I can get the Modbus TCP protocol for Sungrow SH10RS Inverter?

It is the same

interesting…I have a few values not working… I’m plugged into the bottom of the WiNet port, which I’ve read you’re not supposed to do… but the 2 RJ45 plugs on the bottom of the inverter appear to be for DRM and Energy Meter RS485…& the new SH10RS is supposed to use the WiNEt Cat 6 port, right?

Just looked the RS one up and yes you need to use the WiNetS LAN port for Modbus and it seems you get at least some values, so that is working.
Which values are not working and which of them would you need?

oh, I have a lot of questions…most pressing issue is the Feed In Limitation Value … I changed it in home assistant from 5kw to 0, the feedback in HA was it had changed, but the power being exported behaved erratically, and then went was exporting back at 5kw again. This is the same which was occurring when I was with Amber, and they were trying to control it. Logging on Locally in the WiNet S bluetooth , the FILV always stays at 5kw while this was being done… so it seems the modbus register for FILV might not be correct? Any ideas?

Is that the register 13087? That is indeed only available on RT. But 13074 should be working:

interesting… adjusted to 4900 watts in HA …


local admin connection shows 4.90kw !!! this is indeed the value which the inverter uses.
remote admin connection still shows 5kw even after fresh parameter query
ModScan32.exe modbus scanner holding register 13074 shows 4900, but not sure what 13087 is doing with “170”
Sorry I cannot load more pics - apparently “new users can only post 1 pic”… say what?
Of course my ultimate aim is to control the export of power to the grid based on FIT’s using Amber Electric’s API… this is something they reportedly are doing with other brands, but appears there’s a lot of issues with Sungrow Inverters… just trying to get to the bottom of it.

John, would you mind sending me the link to the Modbus protocol document you showed in your pic above? might be helpful!

The 170 is 0xAA in hexadecimal. That translates to enabled.
So is it working?

Of course …… seems to be working . Sungrow have just sent me the comms protocol for residential hyb inv V1.1.14. …… would this be more up to date ?

I mean maybe. Isn’t there a changelog?

Hi. i am using the registry integration from mkaiser and run into the exact same problem - i cant write Export Limitation value (an obvious need to control it based on market price). Any updates or advances on this problem?

2 Likes

Same thing for me.
New inverter installed, a week with it and going great to get isolar cloud setup and a baseline for operations, the next week I start using HA with it and this exact extension, my exports just tank for a few days under full Aussie sun. (Yes we are getting into winter soon)

I set the exports to 5k in the yaml page and it sits for a minute, showing a leap in export power to the grid, then falls back down to 1.0kw exports.

I’ve no idea what register or whatever it is that is just straight up modifying it but its frustrating.
My work around is telling the inverter via the local config app that i have third party adaptors and to feed the full 5k. If i turn that off the HA module drops it to 1k.

I do not know what register this has modified, but the inverter is just fixated on being just 1kw.

I’m happy to do diagnostics or command line some stuff with my mac to help, but i’ve no idea why my inverter has reset export settings when reading the modbus.

Anyone else fighting with exports?
(Photo shows the end of the day, 5kw setting and then it defaults to 1kw) through he day was all connecting, disconnecting, rebooting to flush out possible gremlins.

Edit, Apologies;
Sungrow Residential 10kw inverter (10rs?)
Sbr128 battery

+1 for not changing the value on writing of my SH-10-RT.
In the logs I get the response
Exception response 131 / 0
Exception response 134 / 0
From pymodbus.logging

The control of the SG-20 works, but the value only changes when the export limit is enabled.

I think I found the problem.
In a “newer” version of the modbus docu there are two new registers (Export limit min and -max). The range is 20 - 29.92 kW for mine and I can set the limit in between. As I am currently only able to access the modbus controls and not the Admin UI, can someone look in the UI settings if the setting can be changed there?

The yaml for these:

    - name: SH-10 Modbus Export limit min
      unique_id: sh_10_modbus_export_limit_min
      device_address: 1
      address: 5621 # reg 5622
      input_type: input
      data_type: uint16
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      scale: 10
      scan_interval: 30

    - name: SH-10 Modbus Export limit max
      unique_id: sh_10_modbus_export_limit_max
      device_address: 1
      address: 5622 # reg 5623
      input_type: input
      data_type: uint16
      unit_of_measurement: "W"
      device_class: power
      state_class: measurement
      scale: 10
      scan_interval: 30