SofarSolar SofarSolar Inverter (grid) Modbus RTU template

SofarSolar Inverter (grid)

SofarSolar produces single-phase and three-phase solar inverters and hybrid inverters for residential and commercial PV installations. This ModbusCloud template covers the grid-side Modbus RTU register map for SofarSolar Inverter and Hybrid Inverter models, reading active grid power, per-phase currents on phases A, B, and C, and cumulative energy. The RS485 bus is the primary physical interface, using function code 3 at a default baud rate of 9600 bps. Importing this template lets you track live power flow and long-term energy yield from a single dashboard without relying on any proprietary cloud logger.

Protocol
Modbus RTU
Connection
RS485
Registers
5, read only
Compatible models
Inverter · Hybrid Inverter
Last updated

Registers (5)

5 read, 0 write

NameUnitAccessAddress (Hidden until you enter your email)Function (hidden)Type (hidden)
powerWRead
currents_aARead
currents_bARead
currents_cARead
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 active grid power in real time to verify that export limits are respected on each site.
  • Track cumulative energy over weeks to calculate yield and compare against production forecasts.
  • Alert on unexpected phase-current imbalance across phases A, B, and C to catch wiring faults early.
  • Compare per-phase currents against rated values to identify underperforming strings or partial shading.
  • Report daily and monthly energy totals automatically for performance reporting to building owners.

Installation

  1. Confirm Modbus RTU is active on the inverter: check the LCD menu or communication settings screen and set the baud rate to 9600, data bits 8, no parity, 1 stop bit, and assign a unique slave ID between 1 and 63.

  2. Connect the ModbusCloud Gateway to the inverter RS485 port: wire Gateway terminal A to inverter A (positive) and terminal B to inverter B (negative), and enable the termination resistor at each end of the bus if this is the last device in the chain.

  3. In the ModbusCloud portal, add a new device, select this SofarSolar Inverter (grid) template, and enter the slave ID you configured on the inverter LCD.

  4. Verify the connection by opening the live register view in the portal and confirming that the power and energy registers return plausible non-zero values during daylight hours.

Things to watch for

The gateway connects but all register values read zero or NaN. Why?

The most common cause is a mismatched baud rate or wrong slave ID. Confirm the inverter is set to 9600-8-N-1 and that the slave ID in the portal matches the value in the inverter LCD settings. Also verify that Modbus RTU is actually enabled in the communication menu, as some firmware versions ship with it disabled by default.

I am getting garbage or fluctuating values on the phase current registers. What should I check?

SofarSolar registers use big-endian byte order: the high byte is transmitted first. If your reading tool applies a different byte order, the 16-bit current values will appear incorrect. Also confirm you are using function code 3; community reports indicate that only FC 03 reliably returns data on these inverters through the built-in logger port.

The RS485 connection keeps dropping every few minutes. How do I fix it?

A common fix is to swap the A and B wires: the polarity markings on some SofarSolar inverter RS485 connectors do not match the standard convention. Keep the link at 9600 bps. Also ensure termination resistors are fitted at both physical ends of the RS485 bus, and keep total cable length within recommended limits for RS485.

The 32-bit energy register reads an implausibly large number. What is wrong?

The energy register at address 544 is a uint32 spanning two consecutive 16-bit Modbus registers. Confirm your register read request covers both registers (address 544, quantity 2) and that the high word is placed first. Misreading a single register instead of a two-register pair is the most frequent cause of wildly incorrect energy totals.

Want to see how it works?

Electrician working in an open distribution board