All devices

VARTA · Home battery

pulse / pulse neo / element / element backup Modbus register map

Download JSONSupplier documentationSuggest an edit

Default configuration

Protocol
Modbus TCP
Port
502
Unit ID
255
Addressing
0-based
Byte order
Big endian
Word order
Low word first

Register map

AddressCountNameTypeUnitScaleAccess
100017
EMS software version
One character per register.
Ascii-1R
10511
Register table version
Version of the register layout the firmware implements. VARTA has moved registers between versions, so check this value before trusting the map on an unknown firmware.
UInt16-1R
105410
Serial number
One character per register.
Ascii-1R
10641
Installed battery modules
UInt16-1R
10651
Operating state
0 = busy, 1 = run, 2 = charging, 3 = discharging, 4 = standby, 5 = error, 6 = passive, 7 = islanding.
UInt16-1R
10661
Battery power
Signed; the sign gives the direction of power flow. The two cited clients disagree on which direction is positive (evcc negates the raw value, aiovarta reports positive as charging), so the raw value is left untouched here.
Int16W1R
10671
Apparent power
Int16VA1R
10681
Battery state of charge
UInt16%1R
10692
Total charged energy
Raw value is in Wh, split low word first - hence word_order LowFirst for this device. Only multi-register value in the map.
UInt32kWh0.001R
10711
Installed battery capacity
The register holds tens of Wh: 587 means 5.87 kWh.
UInt16kWh0.01R
10721
Error code
UInt16-1R
10741
Maximum discharge power
The value has to be written negative to allow discharge, 0 blocks discharge. This is what evcc writes for battery control.
Int16W1RW
10781
Grid power
Signed; the sign gives the direction of power flow (import or export). evcc negates the raw value to get its import-positive convention, so raw positive means export.
Int16W1R
11021
PV sensor power
Only available when an extra PV sensor is installed: the power of the devices registered in the VARTA SunSpec manager is not exposed over Modbus.
UInt16W1R

Notes

VARTA does not publish the register table on its website, so the map is taken from two independent open-source clients that read it from real hardware: the evcc template https://raw.githubusercontent.com/evcc-io/evcc/master/templates/definition/meter/varta.yaml and the register table in typozh/aiovarta https://github.com/typozh/aiovarta/blob/main/src/aiovarta/const.py (that library was tested against firmware reporting register table version 12, and documents registers 1069/1070 as Wh with the low word first). Modbus TCP on port 502 with unit ID 255. Only a handful of registers are published, which is why this map is short: it carries the three values a battery needs at minimum - state of charge (1068), battery power (1066) and grid power (1078) - plus the state, capacity and error registers. VARTA has moved addresses between firmware versions, so read 1051 (register table version) first. Energy counters are 32-bit and low word first, hence word_order LowFirst; every other entry is a single register and unaffected. Only 1074 is writable. The 'element backup' needs firmware F21000612 or later for battery control, and the firmware update is released on request by VARTA's technical service.