Monitors and controls Victron SmartSolar MPPT solar charge controllers via Modbus TCP.
Overview
This template connects to Victron SmartSolar MPPT charge controllers via Modbus TCP. It reads battery voltage, current, PV power, charge state, and yield data. It also allows remote enabling or disabling of the charger.
Key readings
Battery Voltage
Battery Current
PV Power
PV Voltage
Charge State
Yield Today
Available commands
Charger On/Off
Use cases
Monitor battery voltage, current, and PV power in real time on a cloud dashboard for off-grid installations.
Create an alert when battery voltage drops below a critical threshold to prevent deep discharge.
Track daily and historical solar yield to verify system performance against design expectations.
Remotely disable the charger during maintenance or when battery storage is full and load shedding is required.
Compare PV power output across multiple sites equipped with Victron SmartSolar MPPT controllers.
Detect charger alarm conditions and notify the end customer or service team automatically.
Installation
1Connect the Victron SmartSolar MPPT charger to a Victron GX device (e.g. Cerbo GX) and ensure Modbus TCP is enabled in the GX device settings.
2Wire the ModbusCloud gateway (MCG or MLP series) to the same local network as the GX device using an Ethernet cable.
3Verify the IP address and Modbus TCP unit ID of the MPPT charger as shown in the GX device remote console.
4Import the Victron MPPT Charger template in the ModbusCloud portal and assign the correct IP address and unit ID.
5Confirm that live readings such as battery voltage and PV power appear on the ModbusCloud dashboard before completing the installation.
Things to watch for
01
Why do I need a Victron GX device to use this template?
The SmartSolar MPPT chargers do not natively expose a Modbus TCP interface. A GX device such as the Cerbo GX acts as the Modbus TCP server and makes the charger registers available on the local network.
02
Why does the PV voltage show two different register addresses?
The main PV voltage is at register 776, while PV voltage for tracker 0 is at register 3700. The template reads both. Which one applies depends on the charger model and firmware version.
03
Battery current shows negative values. Is this normal?
Yes. The battery current register is a signed 16-bit integer (int16). Negative values typically indicate discharge or reverse current flow, depending on the system configuration.
04
What baud rate or serial settings do I need?
This template uses Modbus TCP, not Modbus RTU. No baud rate or serial wiring configuration is needed. Communication happens over Ethernet via the GX device.
Registers (20)
19 read / 1 write
Name
Address
Function
Type
Unit
Access
Battery Voltage
771
FC04
uint16
V
R
Battery Current
772
FC04
int16
A
R
PV Power
789
FC04
uint16
W
R
Battery Temperature
773
FC04
int16
°C
R
Charge State
775
FC04
uint16
R
PV Voltage
776
FC04
uint16
V
R
Equalization pending
778
FC04
uint16
R
Equalization time remaining
779
FC04
uint16
min
R
Relay on the Charger
780
FC04
uint16
R
Yield Today
784
FC04
uint16
kWh
R
Yield Yesterday
786
FC04
uint16
kWh
R
Maximum charge power today
785
FC04
uint16
W
R
Maximum charge power yesterday
787
FC04
uint16
W
R
Error Code
788
FC04
uint16
R
User Yield
790
FC04
uint16
kWh
R
MPP operation mode
791
FC04
uint16
R
PV Voltage for tracker 0
3700
FC04
uint16
V
R
Lo batt. voltage alarm
782
FC04
uint16
V
R
High batt. voltage alarm
783
FC04
uint16
V
R
Charger on off
774
FC06
uint16
W
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.