
Victron Energy (battery)
Victron Energy is a leading manufacturer of battery storage and energy management systems built around a GX device such as the Cerbo GX or Color Control GX. This template connects to the Victron Energy (battery) integration via Modbus TCP and reads system-level battery power and state of charge from registers 842 and 843, served by the com.victronenergy.system service at Unit ID 100. It also exposes the writable ESS minimum SoC setpoint at register 2901, allowing automated depth-of-discharge control. Installers can use this template to monitor battery status in real time and adjust energy storage limits remotely through the ModbusCloud Gateway.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 3, read and write
- Brand
- Victron
- Last updated
Registers (3)
2 read, 1 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| power | W | Read | |||
| soc | % | Read | |||
| limitsoc | % | Write |
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 system battery power in real time to detect unexpected discharge patterns during grid outages.
- Track state of charge trends over days and weeks to identify gradual battery capacity degradation.
- Alert on state of charge dropping below a defined threshold to prevent deep discharge events.
- Verify that the ESS minimum SoC setpoint matches the configured site energy management policy.
- Compare battery power readings against solar production data to validate ESS charge scheduling.
Installation
Enable Modbus TCP on the Victron GX device by navigating to Settings, then Services, and activating the Modbus-TCP service. Note the IP address of the GX device.
Connect the ModbusCloud Gateway to the same local network as the Victron GX device, ensuring TCP port 502 is reachable between the two devices.
In the ModbusCloud portal, add the Gateway, import the Victron Energy (battery) template, and set the Unit ID to 100 for the com.victronenergy.system service.
Verify the connection by checking live readings for register 842 (battery power) and register 843 (state of charge) in the portal dashboard.
Things to watch for
Registers 842 and 843 return zero or no response. Why?
Modbus TCP is disabled by default on all Victron GX devices. Go to Settings, then Services on the GX device and enable the Modbus-TCP service. Also confirm the GX device IP address is correct and that port 502 is not blocked by a firewall or VLAN policy on your network.
The state of charge value looks correct but battery power reads as negative when the battery appears to be charging.
Register 842 is a signed int16. Positive values indicate the battery is charging; negative values indicate it is discharging. This is the documented behavior of the com.victronenergy.system service. Check that your Modbus client is interpreting the value as a signed 16-bit integer, not unsigned.
Writing to register 2901 seems to have no effect on the ESS behavior.
Register 2901 must be written to Unit ID 100 and the value is scaled by a factor of 10, so a minimum SoC of 20% requires writing the value 200. Also confirm that ESS mode is active on the GX device, as the register only takes effect when the ESS assistant is enabled in VEConfigure.
Is it safe to write arbitrary values to the ESS minimum SoC setpoint register?
Use caution when writing to register 2901. Setting the minimum SoC too low can cause repeated deep discharge cycles that accelerate battery degradation and may void the warranty of certain battery systems. Always stay within the range recommended by your battery manufacturer and test changes during supervised commissioning, not during live operation.
Want to see how it works?








