All devices

Marstek · Home battery

Venus E Gen 3 Modbus register map

Download JSONSupplier documentationSuggest an edit

Default configuration

Protocol
RS485
Port
502
Unit ID
1
Addressing
0-based
Byte order
Big endian
Word order
High word first
Baud rate
115200
Parity
None
Data bits
8
Stop bits
1

This device has an RS-485 interface. Reach it through a Modbus RTU-to-TCP gateway, configured with the factory serial settings above.

Register map

AddressCountNameTypeUnitScaleAccess
300011
Battery power
AC-side battery charge/discharge power; per evcc, this register covers only the AC-side charge/discharge transaction. The cited sources do not document the sign convention.
Int16W1R
300061
AC power
AC-side power; positive = discharging.
Int16W1R
301001
Battery voltage
UInt16V0.01R
301011
Battery current
Int16A0.1R
302001
EMS firmware version
UInt16-1R
302021
VMS firmware version
UInt16-1R
302041
BMS firmware version
UInt16-1R
3100010
Device name
20-character device name.
Ascii-1R
321051
Battery stored energy
UInt16kWh0.001R
322001
AC voltage
UInt16V0.1R
322041
AC frequency
Int16Hz0.1R
330002
Total charging energy
UInt32kWh0.01R
330022
Total discharging energy
Int32kWh0.01R
330042
Daily charging energy
UInt32kWh0.01R
330062
Daily discharging energy
Int32kWh0.01R
330082
Monthly charging energy
UInt32kWh0.01R
330102
Monthly discharging energy
Int32kWh0.01R
340021
Battery state of charge
UInt16%0.1R
340031
Battery cycle count
UInt16-1R
350001
Internal temperature
Int16°C0.1R
350011
MOS1 temperature
Int16°C0.1R
350021
MOS2 temperature
Int16°C0.1R
350101
Maximum cell temperature
Int16°C0.1R
351001
Inverter state
0 = sleep, 1 = standby, 2 = charge, 3 = discharge, 4 = backup mode, 5 = OTA upgrade, 6 = bypass.
UInt16-1R
370071
Maximum cell voltage
Int16V0.001R
370081
Minimum cell voltage
Int16V0.001R
420001
RS-485 control mode
Enables control over Modbus (write commands). 21930 = on, 21947 = off.
UInt16-1RW
420101
Force mode
0 = none, 1 = charge, 2 = discharge.
UInt16-1RW
420111
Charge/discharge target SoC
SoC at which a forced charge or discharge stops.
UInt16%1RW
420201
Forced charge power setpoint
UInt16W1RW
420211
Forced discharge power setpoint
UInt16W1RW
430001
User work mode
0 = manual, 1 = anti-feed (self-consumption), 2 = trade mode.
UInt16-1RW
440021
Maximum charge power
UInt16W1RW
440031
Maximum discharge power
UInt16W1RW

Notes

Register map from the Marstek Venus Modbus integration for Home Assistant (ViperRNMC/marstek_venus_modbus, register definition custom_components/marstek_modbus/registers/e_v3.yaml plus the register table in its README, retrieved 2026-10-24). Its header states that the map is partially validated on real hardware and that "some entries may still be incorrect, duplicated, or incomplete", so treat it as partially validated rather than confirmed. The Venus E Gen 3 answers Modbus TCP on its own Ethernet port (default port 502, unit ID 1) and can also be reached over its RS-485 port at 115200 8N1 (the serial settings above); evcc's marstek-venus-a template documents the same 115200 8N1 serial default for the Venus family. The state of charge lives at 34002 with 0.1 % resolution on Gen 3 firmware; Gen 1/Gen 2 units of the same model report it at 32104 in whole percent, and the Venus A/D seed uses that address instead, which is why the models are separate files. Left out on purpose: the registers that only exist on E v1/v2 firmware, the alarm and fault bit fields (36000, 36100) whose bit meanings the source does not document, the grid standard and discharge-limit diagnostic registers, and the per-pack cell voltage block, which the source marks as unverified on this model.