SofarSolar SofarSolar HYD 5…20K-3PH (grid) Modbus RTU template

SofarSolar HYD 5…20K-3PH (grid)

The SofarSolar HYD 5...20K-3PH is a three-phase hybrid inverter covering 5 to 20 kW, designed for residential and light-commercial PV systems with battery storage. This Modbus RTU template reads the grid-side register set: total active power, per-phase currents and signed active power for phases A, B, and C, and a cumulative energy counter. Sign convention on the power registers follows the SofarSolar HYD protocol, where negative values indicate export to the grid. Importing this template into ModbusCloud gives installers real-time and historical grid-side visibility across all supported HYD variants without manual register entry.

Protocol
Modbus RTU
Connection
RS485
Registers
8, read only
Compatible models
HYD 5…20K-3PH · HYD 3…6K-EP · SOFAR 80…136KTL · SOFAR 5…24KTL-G3
Last updated

Registers (8)

8 read, 0 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
powerWRead
currents_aARead
currents_bARead
currents_cARead
powers_aWRead
powers_bWRead
powers_cWRead
energyWhRead

Loading registers…

Send your device list

If a device is not in the library yet, we build the template for free as soon as we have the register data.

Number of installations (optional)

Use cases

  • Monitor total grid active power in real time to verify zero-export or import limits are respected.
  • Track per-phase currents on phases A, B, and C to detect load imbalance across the three-phase installation.
  • Compare signed per-phase power values to identify which phase is exporting or importing at any moment.
  • Alert on sustained negative total power values to confirm the inverter is exporting as expected during peak production.
  • Report cumulative grid energy over billing periods to reconcile consumption figures with utility invoices.

Installation

  1. Enable Modbus RTU communication on the SofarSolar HYD 5...20K-3PH via the inverter's LCD menu under the communication or Modbus section; set baud rate to 9600, 8 data bits, no parity, 1 stop bit, and note the assigned slave address (default 1).

  2. Connect the ModbusCloud Gateway to the inverter's RS485 COM port using a twisted-pair cable, wiring A+ and B- correctly; fit a 120-ohm termination resistor at the Gateway end of the bus if it is the last device on the RS485 segment.

  3. In the ModbusCloud portal, add your Gateway, navigate to the template library, search for 'SofarSolar HYD 5...20K-3PH (grid)', import the template, and enter the slave unit ID that matches the address set on the inverter.

  4. Verify the connection by checking the live value for the 'power' register (address 1160) in the portal dashboard; a non-zero reading during grid-connected operation confirms communication is working correctly.

Things to watch for

All register readings show zero or timeout errors. What is wrong?

Check that the baud rate on the inverter matches 9600/8/N/1 and that the unit ID in the portal matches the slave address set on the inverter's LCD. Also verify A+ and B- wiring polarity at both ends. Swapping the two RS485 wires fixes a large proportion of communication failures on SofarSolar HYD installations.

The 'power' register reads unexpected large positive values at night.

The HYD 5...20K-3PH protocol uses big-endian byte order. If your reading tool or gateway is interpreting bytes in little-endian order the int16 value will appear corrupted. Confirm the ModbusCloud Gateway is set to big-endian for this device. A value near 65535 usually indicates a byte-swap issue on a negative signed integer.

Per-phase power values look inconsistent with the total power register.

The SofarSolar HYD G3 protocol assigns phase registers at non-contiguous addresses (1171, 1182, 1193). Some polling tools batch-read a contiguous block and return zeroes for gaps. ModbusCloud polls each register address individually, so values should match. If they do not, confirm the firmware on the inverter supports the extended G3 register map.

The cumulative energy counter seems to reset or jump unexpectedly.

Register 1678 is a 32-bit unsigned value. If you read only one 16-bit word you will see only the high or low half, producing incorrect totals. Ensure the template type is set to uint32 (two consecutive registers). The counter also does not roll back after a firmware update, but a factory reset will clear it.

Want to see how it works?

Electrician working in an open distribution board