Inverter: Sungrow - dalathegreat/Battery-Emulator GitHub Wiki

[!CAUTION] Working with high voltage is dangerous. Always follow local laws and regulations regarding high voltage work. If you are unsure about the rules in your country, consult a licensed electrician for more information. DC ARC is a REAL THING - ENSURE NO LOAD is on any DC wires before working on the system.

Compatible Sungrow Inverters

The Sungrow inverters commonly uses "BYD Battery-Box Premium HVS over CAN Bus", abbreviated BYD CAN

  • Sungrow SH5.0/6.0/8.0/10RT: ✅ (BYD CAN)
  • Sungrow SH3.0/3.6/4.0/5.0/6.0RS: ✅ (BYD CAN)
  • Sungrow SH3.0/3.6/4.0/5.0/6.0RS: Australia No BYD support, ("Sungrow SBRXXX battery over CAN bus" protocol is in beta)
  • Sungrow SH8.0RS/SH10RS, SH15T-25T: Australia No BYD support, ("Sungrow SBRXXX battery over CAN bus" protocol is in beta)
  • Sungrow SH15/20/25T: ✅ (BYD CAN)

Note: In some countries support for BYD is officially dropped, for instance in the new SH15T, SH20T and SH25T. Sungrow wants to promote their own battery system. In some countries it's rumoured to even be dropped in the SHxRT models. You can use older firmware for your inverter to get it working, OR if you have a model that cannot use BYD CAN, try to use "Sungrow SBRXXX battery over CAN bus" instead. As of June 2024, Australia has officially dropped all support for batteries other than Sungrow: https://service.sungrowpower.com.au/TI_20210824_Approved%20battery%20declaration%20for%20sungrow%20hybrid%20inverters_V16_EN-1.pdf

SUNGROW_CAN is currently functional as a beta, as of Oct 2025.

Communication wiring

[!NOTE] It is required to have the Sungrow on a dedicated CAN channel for maximum safety and stability. Sungrow SBRXXX uses a bitrate of 250k which is also likely different to the battery you will be using.

The Sungrow inverter works via CAN. The LilyGo board can have both a CAN battery and a CAN inverter connected on the same pins. When the board is used with two CAN devices at the same time that have termination resistors in all ends, the terminating resistor needs to be removed from the board. Please measure CAN termination if you have issues. This is explained in CAN-troubleshooting

â„šī¸ Always check the termination resistance of the system! That way you know if resistor needs to be removed or not.

â„šī¸ Grounding is extremely important. Make sure the battery case is connected to protective earth, and the shield part of the twisted pair CAN is connected to PE also! Failing to do this will result in CAN errors.

If the inverter CAN wiring is correct and with the inverter on, you should see a voltage of over 1V (eg 1.38V) - wires plugged into the inverter only.

Some Sungrow inverters seem to have CAN communication issues when the battery and inverter are on the same LilyGo (known issue with SH5.0RS and Leaf battery). To resolve this, you can do either of the following:

[!CAUTION] If you are using only a single CAN channel, Sungrow has a nasty software bug. Incase the LilyGo board is disconnected while the system is running (wire break or hardware failure), the inverter will still charge/discharge the battery! This is because the Sungrow inverter sees the automotive CAN messages as the system still being alive. This can lead to a dangerous situation where the battery is over/under-charged. This can be avoided by using a dedicated CAN channel for the inverter.

Sungrow Inverters have the wiring diagram on the side of the Inverter, check this, some are different. As at 2024, the inverter wiring diagram for an 'SHxxRS' Inverter is:

image

Note: Sungrow inverters also have an inbuilt FUSE on the battery terminals. Check the data Spec sheet: SH3.0_3.6_4.0_5.0_6.0RS image

Which protocol to use

For this inverter type, use the option called "BYD Battery-Box Premium HVS over CAN Bus" under the "Inverter Protocol" setting

Setting up the Sungrow inverter for self-consumption mode2

â„šī¸ If you want to limit export power into the grid (feed-in) you will need to use Sungrow Smartmeter.

It is needed so that the system can measure consumption and generation.

Sungrow Smart Meter model "DTSU666" that comes with the SH10RT is compatible.

Adjust the parameters in Winet-S local web interface through web browser, iSolarCloud app or isolarcloud.com

Settings at Winet-S local web interface

Settings at isolarcloud.com

Note, it takes 10-15minutes for the iSolarCloud software to update the details for the Inverter.

Starting and stopping the system (Leaf specific)

When turning the system on, follow this startup procedure. Work quick, to avoid the inverter getting stuck in battery not detected mode.

Startup

  1. First start the Sungrow inverter via AC switch
  2. Turn on the Solar DC switch
  3. Turn on the Battery DC switch
  4. Start the LEAF battery BMS with 12V
  5. Start the LilyGo hardware with 5V
  6. Then either handle precharge/contactor closing manually or let the LilyGo hardware handle it automatically

Shutdown

  1. Turn off the LEAF BMS, cut the 12V supply to it. Wait 60seconds
  2. LilyGo status LED will turn red. The Sungrow inverter will within 30seconds stop using the battery.
  3. After 30s has passed, turn off the contactors incase the LilyGo isn't setup to automatically handle them
  4. Turn off the Sungrow inverter via AC switch
  5. Turn off the Battery DC switch
  6. Turn off the Solar DC switch

Notes on startup

Also, the sungrow is a bit finnicky with startup timing, For me the following works everytime 100% : From everything down, startup the complete system, inverter, then battery emulator and then battery (in short order). As soon as the emulator complains about missing inverter, reboot the emulator. Do this 2 or 3 times, and eventually the inverter checks and emulator checks will run in sync and they will happily talk to eachother and continue to do so

Troubleshooting

User note on Firmware: Just updated my SH10RT from SAPPHIRE-H 03011.95.01 to .95.07 and had no data. After a downgrade to 95.01 all data came back.

Important Note for SH10RT(AU) Inverter Users:

You may experience unusual behavior even if all connections are correctly made. Common issues include:

  • Error codes 714 and 703 appearing in the iSolarCloud app
  • An "Inverter_missing" message on the LilyGO BMS interface

If you encounter these errors, clear any faults, error codes, and battery emulator events, then wait a short while for the system to complete the automatic handshake. This should restore normal communication and operation.

Successfully tested with:

  • BYD CAN protocol
  • Battery Emulator firmware version 8.0
  • LCD firmware:
  • MDSP firmware:

Sungrow SBRXXX emulation over CAN bus

  • Battery Emulator firmware version 9.1.4
  • SH10RS (AU)
  • LCD (ARM) firmware: SUNSTONE-H_01011.02.55
  • MDSP firmware: SUNSTONE-H_03021.01.09
  • SDSP firmware: SUNSTONE-H_04011.02.03
  • AFCI firmware: AFCI_06002.10.11

Hardware configuration:

  • RJXZS BMS → CAN NATIVE (LilyGO) → Battery Emulator → MCP2515 CAN module (with J1 header jumped) → inverter using PIN5 and PIN7