TESVOLT · Battery storage controller
TESVOLT Energy Manager 2.0 marketer interface (TS HV storage systems) Modbus register map
Default configuration
- Protocol
- Modbus TCP
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- Low word first
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 0 | 2 | Instantaneous power at the grid connection point 32-bit value, low word first: address 0 is the low word, 1 the high word. | Int32 | W | 1 | R |
| 3 | 2 | Maximum power value (nominal power) specified by the grid operator Low word first (3 = low, 4 = high). | Int32 | W | 1 | R |
| 5 | 2 | Instantaneous PV power Low word first. | Int32 | W | 1 | R |
| 7 | 2 | Instantaneous self-consumption power Low word first. | Int32 | W | 1 | R |
| 9 | 2 | Battery state of charge IEEE-754 single, low word first. | Float32 | % | 1 | R |
| 11 | 2 | Battery charge/discharge power Positive = charging, negative = discharging; low word first. | Int32 | W | 1 | R |
| 20 | 2 | Mirrored desired value for PV power Value the energy manager has accepted as PV setpoint; low word first. | Int32 | W | 1 | R |
| 22 | 2 | Mirrored desired value for grid-connection power Low word first. | Int32 | W | 1 | R |
| 24 | 1 | Mirrored control mode of the grid connection 0 = local control, 1 = control by the marketer. | UInt16 | - | 1 | R |
| 25 | 2 | Mirrored desired value for the battery power Low word first. | Int32 | W | 1 | R |
| 30 | 2 | Power of the PV plant Low word first. | Int32 | W | 1 | R |
| 32 | 2 | Maximum possible charging power Low word first. | Int32 | W | 1 | R |
| 34 | 2 | Maximum possible discharging power Low word first. | Int32 | W | 1 | R |
| 36 | 2 | Storage capacity of the battery storage Low word first. | UInt32 | Wh | 1 | R |
| 100 | 1 | System error flags Bit field: 0x0000 none, 0x0001 PV system error, 0x0002 battery storage system error, 0x0004 grid-connection activity recording error, 0x0008 PV activity recording error, 0x0010 self-consumption activity recording error, 0x0020 SOC activity recording error. | UInt16 | - | 1 | R |
Read this device live with Modbus Connect, free for Windows, macOS and Linux
Related guides
Notes
Source: TESVOLT AG "Marketer interface - ModBus specifications" for the TESVOLT Energy Manager, revision H.01, 03/2025 (applies to TESVOLT Energy Manager version 2.0 or higher), vendor-hosted at https://www.tesvolt.com/_media/05%20SERVICE/03%20Downloads/Energiemanagementsystem/EN_TESVOLT_Energy_Manager_MarketerInterfaceModbusSpecifications_20250320.pdf. The document gives two address columns, ADDRESS (0-based) and REGISTRY (ADDRESS + 1); the ADDRESS column is stored here and the map is declared zero_based. Every 32-bit row is one value split over two holding/input registers, and the document states in each description which register carries the low and which the high word - low word first - so the seed declares word_order LowFirst. Single-register rows follow standard big-endian. The power values are signed in practice (charge/discharge, import/export), hence Int32; the storage capacity is unsigned. Placeholders, because this document does not state them: the Modbus TCP port (502 assumed) and the unit identifier (1 assumed) - the server is the Energy Manager, so both must be set to whatever the device's Modbus TCP server is configured with. The interface described is the marketer/remote-control interface (PV curtailment, grid-connection and battery setpoints plus measured values), not the complete device map; TESVOLT's internal registers are not published. The watchdog registers 2, 7 and 12 are writable and are listed with their operating rule. Error register 100 is a bit field, documented in its description.