ABB · EV charger
Terra AC wallbox Modbus register map
Default configuration
- Protocol
- Modbus TCP
- Port
- 502
- Unit ID
- 1
- Addressing
- 0-based
- Byte order
- Big endian
- Word order
- High word first
Register map
| Address | Count | Name | Type | Unit | Scale | Access |
|---|---|---|---|---|---|---|
| 16388 | 2 | Firmware version Encoded as four bytes: major, minor, patch, reserved (0x01 0x02 0x13 0x00 = v1.2.13). | UInt32 | - | 1 | R |
| 16390 | 2 | User settable max current Maximum current the wallbox hardware supports, as set in the Terra Config app. | UInt32 | A | 0.001 | R |
| 16392 | 2 | Error code 0 = no error; other values are described in the Terra AC user manual. | UInt32 | - | 1 | R |
| 16394 | 2 | Socket lock state 0x0000 = no cable plugged, 0x0001 = cable connected at the station, unlocked, 0x0011 = cable connected and locked, 0x0101 = cable connected to station and EV, unlocked, 0x0111 = cable connected to station and EV, locked. | UInt32 | - | 1 | R |
| 16396 | 2 | Charging state Low byte bits 6-0: 0 = State A (idle), 1 = State B1 (plugged in, pending authorization), 2 = State B2 (EVSE ready, PWM), 3 = State C1 (EV ready, S2 closed), 4 = State C2 (charging contactor closed), 5 = other. Bit 7 of byte 1: 0 = charging at rated current, 1 = below the value commanded in 0x4100. | UInt32 | - | 1 | R |
| 16398 | 2 | Charging current limit Current limit the wallbox currently applies after internal load management; readback of the 0x4100 setpoint. | UInt32 | A | 0.001 | R |
| 16400 | 2 | Charging current L1 | UInt32 | A | 0.001 | R |
| 16402 | 2 | Charging current L2 | UInt32 | A | 0.001 | R |
| 16404 | 2 | Charging current L3 | UInt32 | A | 0.001 | R |
| 16406 | 2 | Voltage L1 Line-to-neutral or line-to-line depending on the configured grid type. | UInt32 | V | 0.1 | R |
| 16408 | 2 | Voltage L2 | UInt32 | V | 0.1 | R |
| 16410 | 2 | Voltage L3 | UInt32 | V | 0.1 | R |
| 16412 | 2 | Active power | UInt32 | W | 1 | R |
| 16414 | 2 | Energy delivered Energy transferred in the current charging session. | UInt32 | Wh | 1 | R |
| 16416 | 1 | Communication timeout readback Readback of the timeout configured in 0x4106. | UInt16 | s | 1 | R |
| 16640 | 2 | Set charging current limit Setpoint for the charging current. The internal load-management algorithm may apply a lower value, so read the applied limit back from 0x400E. Below 6 A the session pauses, above 6 A it resumes. | UInt32 | A | 0.001 | W |
| 16643 | 1 | Lock / unlock socket cable 0 = unlock the cable, 1 = lock the cable until it is unlocked again or the wallbox is power-cycled. Socket versions only. | UInt16 | - | 1 | W |
| 16645 | 1 | Start / stop charging session 0 = start charging session, 1 = stop charging session. | UInt16 | - | 1 | W |
| 16646 | 1 | Communication timeout Seconds without any read or write before the wallbox treats the link as lost. Default 60, range 10-65535. | UInt16 | s | 1 | W |
Notes
Source: ABB, "Terra AC wallbox - TAC Modbus Communication, Modbus RTU - RS485 and TCP/IP", document 9AKK108469A0833, revision 1.7 (2022). The charger is the Modbus server; only the holding-register area is implemented, with function codes 03 (read), 06 (write single) and 16 (write multiple), big-endian, TCP port 502. Addresses above are the hexadecimal register numbers from the ABB map (0x4000, 0x4100, ...) written in decimal, used as wire addresses. The 4000h serial number register holds a four-register packed identification, so it is not listed here. Modbus TCP control needs firmware 1.6.5 or newer (evcc's Terra AC template states this requirement). The RS-485 variant of the same map takes a configurable address from 1 to 247, 8 data bits, configurable baud rate 4800-115200 and parity None/Odd/Even.