Monitors a FoxESS 3-phase hybrid inverter with battery storage via Modbus RTU
Overview
This template reads PV production, grid meter values, load power, battery state of charge, and cumulative energy totals from a FoxESS 3-phase hybrid inverter with battery storage. Communication runs over RS485 using the Modbus RTU protocol at 9600 baud.
Key readings
PV1 and PV2 power
Meter power R/S/T
Load power R/S/T
Battery power
State of charge (SoC)
Total PV, consumption, load, feed-in energy
Use cases
Monitor PV1 and PV2 string power in real time to detect shading or panel degradation.
Track battery state of charge over time to verify correct charge and discharge cycles.
Create an alert when grid feed-in power exceeds a contractual export limit on any phase.
Compare total PV generation against total consumption to calculate self-consumption ratios.
Generate monthly energy reports for customers using cumulative PV, load, and feed-in counters.
Verify balanced load distribution across three phases using per-phase load power readings.
Installation
1Install the FoxESS Modbus extension module on the inverter and connect the RS485 A and B terminals to the ModbusCloud gateway (MCG or MLP series).
2Set the inverter Modbus slave address to match the address configured in the ModbusCloud template, typically address 1.
3Confirm the RS485 baud rate on the inverter is set to 9600, matching the template default.
4Import the FoxESS hybrid inverter template from the ModbusCloud template library into your project.
5Verify communication by checking that PV1 voltage (register 31000) returns a plausible value on the ModbusCloud dashboard.
6Assign meaningful names to each register reading and configure any desired alerts or dashboard widgets.
Things to watch for
01
The gateway cannot communicate with the inverter. What should I check?
Verify that the Modbus extension module is properly installed in the FoxESS inverter. Check that RS485 A and B wires are not swapped and that the baud rate is set to 9600 on both the inverter and the gateway.
02
PV power and load power values seem inconsistent. Why?
PV and meter power registers report in kW, while load power registers report in W. Make sure your dashboard scaling accounts for this difference to avoid misreadings.
03
Cumulative energy values look incorrect or truncated. How do I fix this?
Total energy registers (32000, 32009, 32012, 32021) are uint32 values spanning two consecutive Modbus addresses. Ensure the template is configured to read both addresses as a single 32-bit value with the correct byte order.
04
Do I need a termination resistor on the RS485 bus?
If the ModbusCloud gateway is at the end of the RS485 bus or the cable run exceeds 10 metres, a 120 ohm termination resistor between A and B is recommended to reduce communication errors.
Registers (15)
15 read / 0 write
Name
Address
Function
Type
Unit
Access
PV1_U
31000
FC03
int16
V
R
PV1_P
31002
FC03
int16
kW
R
Meter powerR
31026
FC03
int16
kW
R
Meter powerS
31027
FC03
int16
kW
R
Meter powerT
31028
FC03
int16
kW
R
Load powerR
31029
FC03
int16
W
R
SoC
31038
FC03
uint16
%
R
Battery power
31036
FC03
int16
kW
R
Load powerS
31030
FC03
int16
W
R
Load powerT
31031
FC03
int16
W
R
PV2_P
31005
FC03
int16
kW
R
Tatal PV energy
32000
FC03
uint32
R
Total consuption energy
32012
FC03
uint32
R
Total load energy
32021
FC03
uint32
R
Feed in total
32009
FC03
uint32
R
Working with Modbus in your projects?
ModbusCloud is the hardware-plus-software platform that installers use to monitor, visualise and control Modbus devices from one portal. This template is one of hundreds you can use right away.