---
title: "Alfen Eve Wallbox"
description: "Alfen Eve Single and Double wallboxes (NG9xx platform) integrated with TapHome via Modbus TCP."
url: "https://taphome.com/en/compatibility/alfen-box/"
language: en
lastmod: 2026-03-28
generator: hugo
ai:
  topics: ["modbus-tcp","wallbox","ev-charger","ethernet","active-load-balancing"]
  questions: ["How to integrate Alfen Eve wallbox with TapHome?","What does the Alfen Box TapHome template monitor?","How to connect Alfen Eve charger via Modbus TCP to TapHome?","How to enable Modbus TCP on Alfen Eve wallbox?","What is the Active Load Balancing license requirement for Alfen Modbus?","How to control charging current on Alfen Eve via Modbus?"]
---

# Alfen Eve Wallbox

Communication: Modbus TCP

- [Alfen Official Website](https://alfen.com/charging-equipment)

> Network address
> 
> TapHome reaches this device at the address entered on import. Give the device a fixed address — an IP reservation in the router, or its mDNS name if it supports one — otherwise the integration stops working when the router changes the address.
> 
> [Network Preparation](https://taphome.com/en/docs/setup/network-preparation/)

## Integration guide

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)

> [!WARNING]
> 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

| Setting | Description | Default |
|---------|-------------|---------|
| Allow reading | Permit reading Modbus registers via TCP/IP | OFF |
| Allow writing maximum currents | Permit writing max current registers | OFF |
| Valid time | Seconds before fallback to safe current | 60 s |
| IP Address allocation | DHCP or fixed IP | DHCP |
| Port | Modbus TCP port | 502 |

> [!WARNING]
> 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.

> [!TIP]
> 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 1

These devices appear in TapHome after import.

Alfen Box Module

Service Attributes

|                   |                                                      |
|-------------------|------------------------------------------------------|
| Name              | Charger product name identifier                      |
| STN Name          | Station name assigned to the wallbox                 |
| Number of Sockets | Number of charging sockets available on this wallbox |

Service Attributes

Name

```taphome
MODBUSR(H, 100, String, 6)
```

STN Name

```taphome
MODBUSR(H, 1400, String, 4)
```

Number of sockets

```taphome
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

Read temperature

```taphome
MODBUSR(H, 1102, Float, 2)
```

**Connection:** Modbus TCP • Slave ID: $\[SlaveId] • Hostname: `ACE-{SERIAL}.local`

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

## Import parameters

Enter these values when you import the XML.

| Asked in the app | Default       |
|------------------|---------------|
| Slave ID         | `200`         |
| IP address       | `192.168.1.0` |

## Sources

- Alfen Modbus for ACE — Configuration Guide
  
  [alfen.com](https://alfen.com/media/1047/download) 2026-03-28
  
  [PDF](https://taphome.com/compatibility/devices/alfen-box/manufacturer/modbus-slave-tcpip.pdf)
- Alfen Eve Pro — HA Community Modbus TCP Thread
  
  [community.home-assistant.io](https://community.home-assistant.io/t/alfen-eve-pro-ev-chargepoint-interface-via-tcp-modbus/346000) 2026-03-28

Manufacturer documents are © their respective owners. They are provided as published by the manufacturer, for reference only.

## Related Documentation

- [Modbus Integration](https://taphome.com/en/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/en/docs/integration/modbus/)
- [Simple configuration using templates](https://taphome.com/en/docs/integration/modbus/templates/)
- [Modbus scripts and prefetch](https://taphome.com/en/docs/script/modbus-scripts/)
- [Modbus functions](https://taphome.com/en/docs/script/modbus/)
- [Modbus data types](https://taphome.com/en/docs/script/modbus-data-types/)

