
The KEBA KeContact P20 is an AC Mode 3 EV wallbox (10–32 A, single-phase or three-phase) manufactured between 2012 and 2016. Its UDP-based “SmartHome Interface” is supported on the c-series and c-series+PLC hardware variants (product codes KC-P20-xxxxxx2x-xxx and KC-P20-xxxxxx3x-xxx) with firmware 2.5 or higher. The e-series and b-series do not implement this interface.
TapHome communicates with the wallbox over UDP on port 7090 using the native KEBA protocol. On each poll cycle (default 10 s) TapHome sends the text command report 3 to the wallbox IP, and the wallbox replies with a JSON payload containing per-phase voltages and currents, instantaneous active power, session energy and total energy.
This template is read-only power monitoring. It does not start or stop charging, it does not modulate the charging current, and it does not authorise RFID sessions. If you need active load control (for example PV surplus charging), use a different integration — the successor KeContact P30 is covered by the dedicated KEBA KeContact P30 Charging Station template, which uses Modbus TCP and exposes full charge control.
Requirements
- KEBA KeContact P20 c-series or c-series+PLC (electronics digit
2or3in the product code on the type plate) - Firmware ≥ 2.5 (earlier firmware does not expose the
report 3command) - Wallbox connected to the same LAN as the TapHome Core via Ethernet (LSA+ terminals X4 or RJ45 socket X3)
- UDP port 7090 not blocked by any firewall between the Core and the wallbox
- The Modbus TCP interface must be disabled — the UDP and Modbus TCP interfaces are mutually exclusive on the P20
Hardware connection
The P20 provides two physical Ethernet interfaces. They are wired in parallel on the PCB and only one can be used at a time — the unused one must be unplugged.
- Ethernet1 (X4) — LSA+ punch-down terminals, recommended for permanent hardwired installations (use original KRONE insertion tool; wire per TIA-568A/B colour coding for 100BaseT, fold shielding back ~1 cm and clamp to the [Shd] ground point)
- Ethernet2 (X3) — RJ45 socket, intended for service/debug but usable if an RJ45 cable is already routed into the cabinet
Use Cat 5e or Cat 6 STP cable. Terminal block (X4) accepts wire diameters 0.36–0.81 mm (AWG 27–20) for inflexible cable and 7 × 0.2 mm (AWG 24) for flexible cable.
Compensation currents flowing through the Ethernet shielding in extended installations can damage the interface. Discuss TN-S network expansion with the responsible building services if the wallbox and the Core are on different subsystems.
Configuration
Enabling the UDP SmartHome interface
The UDP interface is activated by a single DIP switch on the wallbox PCB, located under the connector-panel cover.

- Power off the wallbox at the circuit breaker
- Remove the housing cover and the connector-panel cover to reach the DIP switch banks (DSW1 on top, DSW2 below)
- Set DSW1.3 = ON to activate the SmartHome UDP interface
- Press the Service button for ~1 second or power-cycle the wallbox — DIP-switch changes only take effect after a restart
The full DSW1 configuration bank is documented in the Installation Manual. Only the rows relevant to UDP integration are listed here:
| DIP | Function | Default | Required for UDP |
|---|---|---|---|
| DSW1.1 | External enable input [X1] used | OFF | — (leave as-is unless an enable contact is wired) |
| DSW1.2 | Switch contact output [X2] in contactor-monitoring mode | OFF (status display) | — (not relevant to this template) |
| DSW1.3 | Activate SmartHome Interface via UDP | OFF | ON — mandatory |
| DSW1.6 / 1.7 / 1.8 | Max charging current transmitted via Control Pilot PWM | depends on variant | — (set to wallbox rating) |
The UDP interface and the Modbus TCP interface cannot be active at the same time. If Modbus TCP was previously enabled on this station, disable it before relying on the TapHome UDP template.
IP address (DSW2 addressing)
For a single P20 on the network, the default DHCP addressing is sufficient — all DSW2 switches set to OFF. The wallbox obtains its IP from the router.
For multi-station installations on an isolated network, fixed IP addressing in the range 192.168.25.11–192.168.25.26 can be set via DSW2.1–DSW2.4 (with DSW2.5 = OFF, DSW2.6 = ON). Each switch adds its binary weight (1, 2, 4, 8) to a base of 10:
| Address | DSW2.1 (+1) | DSW2.2 (+2) | DSW2.3 (+4) | DSW2.4 (+8) |
|---|---|---|---|---|
| 192.168.25.11 | ON | OFF | OFF | OFF |
| 192.168.25.13 | ON | ON | OFF | OFF |
| 192.168.25.17 | ON | ON | ON | OFF |
| 192.168.25.25 | ON | ON | ON | ON |
If the wallbox uses DHCP, assign a static DHCP reservation in the router so the IP does not change after a power outage. TapHome stores the IP as an import parameter and does not auto-discover the device.
TapHome import parameters
When importing the template, provide:
- IP Address — the wallbox IP on the local network (placeholder
192.168.0.1) - Port —
7090(fixed by the KEBA protocol) - Internal poll interval —
10000ms by default; the KEBA protocol tolerates shorter intervals but recommends at least 5 s between repetitions of the same command
Device capabilities
All measurements are derived from the report 3 JSON payload returned by the wallbox. Every value updates with each poll cycle; all devices are read-only.
Per-phase voltages
- Phase 1 Voltage, Phase 2 Voltage, Phase 3 Voltage — line voltages in volts, read directly from the
U1,U2,U3fields of thereport 3response. On single-phase installations, only U1 reports a meaningful value.
Per-phase currents
- Phase 1 Current, Phase 2 Current, Phase 3 Current — charging currents in amperes, read from
I1,I2,I3in milliamps and converted to A (divided by 1000) by the template. Values are zero when no vehicle is charging.
Session and total energy
The template exposes two energy meters, both sharing the same instantaneous active power reading ($.P from report 3, reported in mW and converted to kW):
- Present Power — instantaneous charging power (kW) plus energy delivered in the current charging session. The session energy counter (
E pres, 0.1 Wh units converted to kWh) resets to zero every time a new cable is plugged in. - Total Power — instantaneous charging power (kW) plus the lifetime cumulative energy counter (
E total, 0.1 Wh units converted to kWh). This counter persists across sessions, restarts and power cycles and never resets.
Both energy devices expose the same live power reading — the KEBA wallbox reports a single instantaneous active power value. The devices differ only in which energy counter they track (per-session vs. lifetime). This lets you graph both a rolling session total and a long-term energy trend in TapHome.
Troubleshooting
TapHome shows no data from the wallbox
- Verify the wallbox product code on the type plate. Only
KC-P20-xxxxxx2x-xxx(c-series) andKC-P20-xxxxxx3x-xxx(c-series+PLC) support UDP — e-series and b-series cannot be integrated over UDP regardless of firmware - Confirm the firmware version is ≥ 2.5. Older firmware does not reply to
report 3. Firmware updates are available in the download area at keba.com/emobility - Confirm DSW1.3 = ON — this is by far the most common setup issue because the DIP switches sit under the connector-panel cover and are easy to miss during commissioning. After toggling, press the Service button for 1 second or cycle the breaker
- Check that the Ethernet cable is connected to only one of X3 (RJ45) or X4 (LSA+), not both
- Ensure UDP port 7090 is open between the TapHome Core and the wallbox (no VLAN / firewall blocking)
- Confirm the Modbus TCP interface on the wallbox is not active — UDP and Modbus TCP are mutually exclusive
The wallbox IP changes periodically
The default addressing mode is DHCP. If the router releases and reassigns leases, the wallbox may come up on a different IP. Either set a static DHCP reservation in the router for the wallbox MAC address, or switch to fixed-IP mode via DSW2 (for single stations this is rarely necessary).
Power reads zero even though the EV is charging
The P, I1/I2/I3, E pres fields are only populated while a valid charging session is active (Plug = 7, State = 3 in report 2). If the cable is plugged but charging has not started, or if charging is suspended by the vehicle, P will be zero. This is expected behaviour — confirm by observing the wallbox status LED (solid green while actively charging).
Session energy does not match a charge event
The E pres counter resets at the start of a new session (plug-in). If the EV disconnects and reconnects within your logging window, a fresh session begins and the counter restarts from zero. Use the lifetime counter (Total Power) for cumulative statistics across sessions.
