All devices

E3/DC · Home battery

S10 Hauskraftwerk / Quattroporte / Q10 / P10 (E3/DC Simple Mode) Modbus register map

Download JSONSupplier documentationSuggest an edit

Default configuration

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

Register map

AddressCountNameTypeUnitScaleAccess
400011
Magic byte / Modbus ID
Always 0xE3DC (58332 decimal). Read it first: if it is not there, the register offset of the client differs by one or two (see the vendor document, section 4.1).
Hex-1R
400031
Number of supported registers
How many registers this firmware serves.
UInt16-1R
4000416
Manufacturer
One character per register; reads "HagerEnergy GmbH".
Ascii-1R
4002016
Model
One character per register; e.g. "S10 E AIO" or "Q10".
Ascii-1R
4003616
Serial number
One character per register; e.g. "S10-12345678912".
Ascii-1R
4005216
Firmware release
One character per register; e.g. "S10_2021_04".
Ascii-1R
400682
Photovoltaic power
Int32W1R
400702
Battery power
Signed; negative values mean the battery is discharging.
Int32W1R
400722
House consumption power
Int32W1R
400742
Power at the grid connection point
Signed; negative values mean feed-in to the grid.
Int32W1R
400762
Power of all additional generators
Int32W1R
400782
Wallbox power
Int32W1R
400802
Solar power used by the wallbox
Int32W1R
400831
Battery state of charge
UInt16%1R
400841
Emergency power status
0 = emergency power not supported by this device, 1 = emergency power active (grid failure), 2 = emergency power not active, 3 = emergency power not available, 4 = motor switch of an S10 E / S10 E PRO not in the ON position.
UInt16-1R
400851
EMS status
Bit field: bit 0 = battery charging blocked, bit 1 = battery discharging blocked, bit 2 = emergency power possible (batteries charged), bit 3 = weather-based charging holds back capacity, bit 4 = output power curtailed because the feed-in limit is reached, bit 5 = charging lockout time active, bit 6 = discharging lockout time active.
UInt16-1R
400881
Wallbox 0 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400891
Wallbox 1 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400901
Wallbox 2 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400911
Wallbox 3 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400921
Wallbox 4 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400931
Wallbox 5 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400941
Wallbox 6 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400951
Wallbox 7 control
Bit field; bit 1 = solar / mixed operation, bit 2 = charging released or cancelled, bit 6 = Schuko socket on, bit 12 = one or three phases. Writing bits needs function code 05h.
UInt16-1RW
400961
DC voltage, string 1
UInt16V1R
400971
DC voltage, string 2
UInt16V1R
400981
DC voltage, string 3
Not used on devices without a third string.
UInt16V1R
400991
DC current, string 1
UInt16A0.01R
401001
DC current, string 2
UInt16A0.01R
401011
DC current, string 3
Not used on devices without a third string.
UInt16A0.01R
401021
DC power, string 1
UInt16W1R
401031
DC power, string 2
UInt16W1R
401041
DC power, string 3
Not used on devices without a third string.
UInt16W1R
401051
Power meter 0 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401061
Power meter 0, phase power L1
Int16W1R
401071
Power meter 0, phase power L2
Int16W1R
401081
Power meter 0, phase power L3
Int16W1R
401091
Power meter 1 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401101
Power meter 1, phase power L1
Int16W1R
401111
Power meter 1, phase power L2
Int16W1R
401121
Power meter 1, phase power L3
Int16W1R
401131
Power meter 2 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401141
Power meter 2, phase power L1
Int16W1R
401151
Power meter 2, phase power L2
Int16W1R
401161
Power meter 2, phase power L3
Int16W1R
401171
Power meter 3 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401181
Power meter 3, phase power L1
Int16W1R
401191
Power meter 3, phase power L2
Int16W1R
401201
Power meter 3, phase power L3
Int16W1R
401211
Power meter 4 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401221
Power meter 4, phase power L1
Int16W1R
401231
Power meter 4, phase power L2
Int16W1R
401241
Power meter 4, phase power L3
Int16W1R
401251
Power meter 5 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401261
Power meter 5, phase power L1
Int16W1R
401271
Power meter 5, phase power L2
Int16W1R
401281
Power meter 5, phase power L3
Int16W1R
401291
Power meter 6 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401301
Power meter 6, phase power L1
Int16W1R
401311
Power meter 6, phase power L2
Int16W1R
401321
Power meter 6, phase power L3
Int16W1R
401331
Power meter 7 type
1 = root power meter (control point), 2 = external production, 3 = bidirectional meter, 4 = external consumption, 5 = farm, 6 = not used, 7 = wallbox, 8 = external farm meter, 9 = data display, 10 = control bypass.
UInt16-1R
401341
Power meter 7, phase power L1
Int16W1R
401351
Power meter 7, phase power L2
Int16W1R
401361
Power meter 7, phase power L3
Int16W1R
401371
SG Ready status
UInt16-1R

Notes

Register map from the vendor document "Modbus/TCP-Schnittstelle der HagerEnergy GmbH", V1.80, 07.07.2021, section 3.1 "E3/DC Simple Mode" (copy read: https://za26.de/file_download/113/ModBus_E3DC_Speichersysteme_V1.80_2021-07-07.pdf; E3/DC ships it with the system rather than hosting it). Cross-checked against AlCalzone/e3dc-ess-modbus (unit ID 1, port 502, same register numbers). In the device menu the interface has to be switched on under Smart Functions > Smart Home > Modbus with the protocol set to "E3/DC"; the SunSpec mode of the same interface is a different map and is not described here. The register numbers are the document's 1-based 4xxxx numbers, hence one_based - the document warns that clients differ by an offset of one or two registers and recommends checking the magic byte in 40001 (0xE3DC) first, so 40001 is the first row. Every 32-bit value is sent low word first (section 4.2 works out the value as [40075] * 65536 + [40074]), hence word_order LowFirst; evcc's e3dc-modbus template decodes the same registers as int32s. Left out: 40002 (Uint8+Uint8 firmware version), 40082 (autonomy and self-consumption packed as Uint8+Uint8 without saying which byte is which) and the reserved 40086/40087. Battery power 40070 is negative while discharging and grid connection point power 40074 negative while feeding in, both as the document defines them; no scale factors are applied anywhere. The eight WallBox_x_CTRL registers 40088-40095 are the only writable ones and are switched with function code 05h. Each power meter 0-7 takes four registers: a type register followed by the three phase powers.