TapHome

Alfen Eve Wallbox

Modbus TCP
Submitted by
Last updated: 03. 2026
Alfen Eve Wallbox

The Alfen Eve series (Eve Single S-line, Eve Single Pro-line, Eve Double Pro-line) are commercial and residential EV charging stations built on the NG9xx platform. TapHome connects to the wallbox via Modbus TCP over Ethernet on port 502.

The current template monitors the internal board temperature and exposes charger identification attributes (product name, station name, number of sockets). The Alfen Modbus register map provides extensive per-socket energy metering and current control registers that can be added in future template updates.

Hardware connection

The wallbox has a wired Ethernet port for network connectivity. Connect it to the same local network as TapHome Core using a standard Ethernet cable.

  • Protocol: Modbus TCP
  • Port: 502
  • Default Slave ID: 200 (station), 1 (socket 1 / left), 2 (socket 2 / right)
  • Byte order: Mixed-endian — 16-bit words are big-endian, 32-bit words are little-endian (low word first)

The charger supports a maximum of 2 simultaneous Modbus TCP connections. Ensure no other system (e.g. Home Assistant, OCPP backend) is consuming both connections when TapHome needs to communicate.

Configuration

Enabling Modbus communication

Modbus TCP is not enabled by default on Alfen Eve chargers. Activation requires the Active Load Balancing (ALB) license — a paid feature that must be purchased from Alfen.

Once the license is active, configure Modbus via the ACE Service Installer application:

  1. Log into ACE Service Installer and select the charging station
  2. Navigate to Load Balancing (scales icon)
  3. Select Active balancing and check Active Load Balancing
  4. Set Data Source to Energy Management System — this activates the Modbus server role
  5. Under Protocol Selection, choose Modbus TCP/IP
  6. Set Maximum smart meter current (A) and Safe current (A)
  7. Navigate to TCP/IP EMS in the sidebar
  8. Set Control mode: Socket (for individual socket control) or SCN (for whole station control)
  9. Enable Allow reading to permit Modbus register reads
  10. Optionally enable Allow writing maximum currents if current control is desired
SettingDescriptionDefault
Allow readingPermit reading Modbus registers via TCP/IPOFF
Allow writing maximum currentsPermit writing max current registersOFF
Valid timeSeconds before fallback to safe current60 s
IP Address allocationDHCP or fixed IPDHCP
PortModbus TCP port502

The Active Load Balancing license is a paid feature. Contact Alfen to purchase the license key before attempting to enable Modbus communication.

When importing the template in TapHome, provide:

  • IP Address — the wallbox IP on the local network
  • Slave ID — 200 (default for station-level registers)

Device capabilities

The template monitors the wallbox at the station level (slave address 200):

Board temperature
  • Board Temperature — reads the internal PCB temperature of the wallbox from register H:1102 (Float32, °C). This is the circuit board temperature, not the ambient or environment temperature.
Additional capabilities

The Alfen NG9xx platform exposes an extensive Modbus register map beyond what the current template implements. Per-socket registers (slave address 1 or 2) provide real-time energy metering including per-phase voltage, current, power (real, apparent, reactive), power factor, frequency, and cumulative energy delivered and consumed. The socket status registers expose availability, IEC 61851 Mode 3 charging state, and a writable maximum current setpoint with configurable validity time — enabling dynamic load management. Station-level registers also provide uptime, boot count, and platform identification. These capabilities can be added in a future template update.

For dual-socket chargers (Eve Double Pro-line), socket 1 (left) uses slave address 1 and socket 2 (right) uses slave address 2. Each socket has its own independent set of measurement and control registers.

Troubleshooting

No Modbus communication
  1. Verify the Active Load Balancing license is active on the charger
  2. Confirm that Allow reading is enabled in ACE Service Installer under TCP/IP EMS
  3. Ensure the wallbox and TapHome Core are on the same network/subnet
  4. Check that no firewall is blocking port 502
  5. Verify the slave ID matches (default: 200 for station registers)
  6. Ensure no more than 2 Modbus TCP clients are connected simultaneously
Register values return NaN

Chargers equipped with Reallin power meters (post-2021 production) return NaN for certain aggregate registers: Current Sum, Apparent Power Sum, Reactive Power Sum, and Real Energy Consumed Sum. Per-phase registers remain functional. This is a hardware limitation of the Reallin meter, not a configuration issue.

Max current setpoint not applied

Written maximum current values have a validity timeout (default 60 seconds). The value must be periodically rewritten before expiry, otherwise the charger falls back to the configured safe current. Verify the validity time setting in ACE Service Installer.

Available devices

Alfen Box Module
Service Attributes
NameCharger product name identifier
STN NameStation name assigned to the wallbox
Number of SocketsNumber of charging sockets available on this wallbox

Alfen Box

Service Attributes
Name
MODBUSR(H, 100, String, 6)
STN Name
MODBUSR(H, 1400, String, 4)
Number of sockets
MODBUSR(H, 1105, Uint16);
Board Temperature Temperature Sensor Read-only

Internal PCB temperature of the wallbox — not ambient or environment temperature

Register: H:1102 Float Unit: °C

Board Temperature

Read temperature
MODBUSR(H, 1102, Float, 2)
Connection: Modbus TCP • Slave ID: $[SlaveId]
Possible improvements (11)
  • H:1100 Uptime — UInt64 (4 words), seconds since last boot
  • H:1101 Bootups — UInt32 (2 words), number of boot cycles
  • H:1104 Max Current — Float (2 words), max current per wallbox in A
  • H:1106 Platform Type — String, hardware platform identifier
  • H:300 Socket 1 — Real Energy Delivered — Float (2 words), kWh, available on socket slave ID 1
  • H:306 Socket 1 — Meter State — UInt16, socket state enum (e.g. 0=Available, 1=Cable connected, 2=Charging)
  • H:308 Socket 1 — Active Power Total — Float (2 words), W, real-time charging power
  • H:320 Socket 1 — Voltage L1/L2/L3 — Float (2 words each), V, per-phase voltage on socket slave ID 1
  • H:326 Socket 1 — Current L1/L2/L3 — Float (2 words each), A, per-phase current on socket slave ID 1
  • H:1210 Max Current Valid Time — UInt16, seconds, R/W — timeout for max current setting
  • H:1200 Socket 1 — Max Current — Float (2 words), A, R/W — dynamic current limit per socket

Sources