
Victron PvInverter via DCCharger
The Victron PvInverter via DCCharger template connects ModbusCloud to a Victron MPPT solar charger accessed through a Victron GX device (Cerbo GX or Venus GX) over Modbus TCP. The template reads battery voltage, current, and temperature; charger state (bulk, absorption, float, equalize); active power and cumulative production energy; daily and yesterday yield totals; and per-tracker PV voltage and yield for multi-tracker MPPT models. Alarm registers for low and high battery voltage are also polled. Installers gain continuous visibility into DC-side solar production without opening the VRM portal.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 39, read only
- Brand
- Victron
- Last updated
Registers (39)
39 read, 0 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| battery_voltage | V | Read | |||
| battery_current | A | Read | |||
| battery_temperature | °C | Read | |||
| charger_on_off | Read | ||||
| charge_state | Read | ||||
| voltage | V | Read | |||
| equalization_pending | Read | ||||
| equalization_time_remaining | s | Read | |||
| relay_on_the_charger | Read | ||||
| low_battery_voltage_alarm | Read | ||||
| high_battery_voltage_alarm | Read | ||||
| yield_today | kWh | Read | |||
| max_charge_power_today | W | Read | |||
| yield_yesterday | kWh | Read | |||
| max_charge_power_yesterday | W | Read | |||
| error_code | Read | ||||
| active_power | W | Read | |||
| active_production_energy | Wh | Read | |||
| mpp_operation_mode | Read | ||||
| pv_voltage_tracker_0 | V | Read | |||
| pv_voltage_tracker_1 | V | Read | |||
| pv_voltage_tracker_2 | V | Read | |||
| pv_voltage_tracker_3 | V | Read | |||
| yield_today_tracker_0 | kWh | Read | |||
| yield_today_tracker_1 | kWh | Read | |||
| yield_today_tracker_2 | kWh | Read | |||
| yield_today_tracker_3 | kWh | Read | |||
| yield_yesterday_tracker_0 | kWh | Read | |||
| yield_yesterday_tracker_1 | kWh | Read | |||
| yield_yesterday_tracker_2 | kWh | Read | |||
| yield_yesterday_tracker_3 | kWh | Read | |||
| max_charge_power_today_tracker_0 | W | Read | |||
| max_charge_power_today_tracker_1 | W | Read | |||
| max_charge_power_today_tracker_2 | W | Read | |||
| max_charge_power_today_tracker_3 | W | Read | |||
| max_charge_power_yesterday_tracker_0 | W | Read | |||
| max_charge_power_yesterday_tracker_1 | W | Read | |||
| max_charge_power_yesterday_tracker_2 | W | Read | |||
| max_charge_power_yesterday_tracker_3 | W | Read |
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.
Use cases
- Monitor daily and cumulative solar yield per MPPT tracker to identify underperforming PV strings.
- Alert on low or high battery voltage alarms to catch charging problems before they damage the battery bank.
- Track the charge state register to verify the MPPT cycles correctly through bulk, absorption, and float each day.
- Compare per-tracker PV voltages across a multi-string array to detect shading or soiling on individual strings.
- Report peak charge power against daily yield to verify the MPPT is operating in active MPPT mode during peak irradiance.
Installation
Enable Modbus TCP on the Victron GX device by opening the GX menu, navigating to Settings, then Services, and switching the Modbus-TCP service on. The default port is 502.
Connect the ModbusCloud Gateway to the same LAN as the Victron GX device using an Ethernet cable, ensuring both devices receive IP addresses on the same subnet.
In the ModbusCloud portal, add a new device, import the Victron PvInverter via DCCharger template, and set the IP address to the GX device's LAN address. Set the unit ID to match the MPPT solar charger's device instance shown in the GX Modbus unit-ID mapping table.
Spot-check the connection by reading the active_power register (address 789) and the charge_state register (address 775) in the portal's live data view; values should reflect current sun and charge conditions.
Things to watch for
All registers return zero or an error. What is wrong?
The most common cause is an incorrect unit ID. The Victron GX device uses the unit ID as a device selector: each connected charger has its own ID shown in the GX Modbus unit-ID mapping table. Verify the unit ID in the GX menu under Settings, Services, Modbus-TCP, and update it in your ModbusCloud portal device configuration.
Modbus TCP is enabled but the Gateway cannot reach the GX device.
Confirm the ModbusCloud Gateway and the Victron GX device are on the same IP subnet and that no firewall or VLAN separates them. Victron GX devices listen on TCP port 502. Also confirm the GX device has a static or reserved DHCP address so it does not change after a reboot.
The per-tracker registers (3700 to 3723) always return zero. Why?
Multi-tracker registers are only populated on MPPT models that have multiple independent tracker inputs. On single-tracker models these addresses return zero. Additionally, some earlier Venus OS firmware versions had gaps where tracker-current addresses returned zero. Update the GX firmware to the latest stable Venus OS release and retry.
Register 777 (PV current) is missing from this template. Is that intentional?
Yes. Victron removed register 777 (PV current) from the official Modbus-TCP register list in firmware version 2.80 because it is unavailable when multiple VE.Can MPPT chargers are combined. This template follows the current official register list and omits 777 to avoid spurious errors on multi-MPPT installations.
Want to see how it works?








