TapHome

KEBA KeContact P20 Leistungsüberwachung

Packet Parser → UDP
Eingereicht von
Zuletzt aktualisiert: 06. 2026
KEBA KeContact P20 Leistungsüberwachung

Die KEBA KeContact P20 ist eine AC-Mode-3-EV-Wallbox (10–32 A, einphasig oder dreiphasig), hergestellt zwischen 2012 und 2016. Ihre UDP-basierte „SmartHome Interface" wird auf den Hardware-Varianten c-series und c-series+PLC (Produktcodes KC-P20-xxxxxx2x-xxx und KC-P20-xxxxxx3x-xxx) mit Firmware 2.5 oder höher unterstützt. Die e-series und b-series implementieren diese Schnittstelle nicht.

TapHome kommuniziert mit der Wallbox über UDP auf Port 7090 mittels des nativen KEBA-Protokolls. In jedem Polling-Zyklus (standardmäßig 10 s) sendet TapHome den Textbefehl report 3 an die IP der Wallbox, und die Wallbox antwortet mit einem JSON-Payload mit phasenweisen Spannungen und Strömen, momentaner Wirkleistung, Sitzungsenergie und Gesamtenergie.

Diese Vorlage dient der Read-only-Leistungsüberwachung. Sie startet bzw. stoppt kein Laden, moduliert keinen Ladestrom und autorisiert keine RFID-Sitzungen. Wenn Sie eine aktive Laststeuerung benötigen (z. B. Laden aus PV-Überschuss), verwenden Sie eine andere Integration — der Nachfolger KeContact P30 wird durch die eigene Vorlage KEBA KeContact P30 Ladestation abgedeckt, die Modbus TCP nutzt und volle Ladesteuerung bietet.

Voraussetzungen

  • KEBA KeContact P20 c-series oder c-series+PLC (Elektronik-Kennziffer 2 oder 3 im Produktcode auf dem Typenschild)
  • Firmware ≥ 2.5 (ältere Firmware kennt den Befehl report 3 nicht)
  • Wallbox im gleichen LAN wie das TapHome Core über Ethernet (LSA+-Klemmen X4 oder RJ45-Buchse X3)
  • UDP-Port 7090 darf nicht durch eine Firewall zwischen Core und Wallbox blockiert sein
  • Die Modbus-TCP-Schnittstelle muss deaktiviert sein — die UDP- und Modbus-TCP-Schnittstellen schließen sich an der P20 gegenseitig aus

Hardware-Anschluss

Die P20 bietet zwei physische Ethernet-Schnittstellen. Sie sind auf der Platine parallel verdrahtet, und es darf jeweils nur eine verwendet werden — die nicht verwendete muss abgesteckt sein.

  • Ethernet1 (X4) — LSA+-Schneidklemmen, empfohlen für fest verdrahtete Installationen (originales KRONE-Anlegewerkzeug verwenden; nach TIA-568A/B-Farbcode für 100BaseT auflegen, Schirm ~1 cm umschlagen und am Erdungspunkt [Shd] festklemmen)
  • Ethernet2 (X3) — RJ45-Buchse, vorgesehen für Service/Debug, aber nutzbar, wenn bereits ein RJ45-Kabel in den Verteiler geführt ist

Verwenden Sie Cat-5e- oder Cat-6-STP-Kabel. Der Klemmenblock (X4) nimmt Leiterdurchmesser von 0,36–0,81 mm (AWG 27–20) für starre und 7 × 0,2 mm (AWG 24) für flexible Leiter auf.

Ausgleichsströme, die über die Ethernet-Schirmung in ausgedehnten Installationen fließen, können die Schnittstelle beschädigen. Sprechen Sie die TN-S-Netzerweiterung mit der verantwortlichen Gebäudetechnik ab, wenn Wallbox und Core in unterschiedlichen Teilsystemen liegen.

Konfiguration

UDP SmartHome-Schnittstelle aktivieren

Die UDP-Schnittstelle wird über einen einzelnen DIP-Schalter auf der Wallbox-Platine aktiviert, der sich unter der Anschlussfeld-Abdeckung befindet.

KEBA KeContact P20 DIP-Schalter-Layout mit DSW1 / DSW2 Position auf der Platine und DSW1.3 ON-Einstellung zur Aktivierung der UDP SmartHome-Schnittstelle
  1. Wallbox am Leitungsschutzschalter spannungsfrei schalten
  2. Gehäuseabdeckung und Anschlussfeld-Abdeckung abnehmen, um die DIP-Schalterbänke zu erreichen (DSW1 oben, DSW2 unten)
  3. DSW1.3 = ON setzen, um die UDP SmartHome-Schnittstelle zu aktivieren
  4. Service-Taste ~1 Sekunde drücken oder die Wallbox neu starten — DIP-Schalter-Änderungen werden erst nach einem Neustart wirksam

Die komplette DSW1-Bank ist im Installation Manual dokumentiert. Hier sind nur die für die UDP-Integration relevanten Zeilen aufgeführt:

DIPFunktionStandardErforderlich für UDP
DSW1.1Externer Freigabeeingang [X1] verwendetOFF— (belassen, sofern kein Freigabekontakt verdrahtet ist)
DSW1.2Schaltkontaktausgang [X2] im Schütz-ÜberwachungsmodusOFF (Statusanzeige)— (für diese Vorlage nicht relevant)
DSW1.3SmartHome Interface über UDP aktivierenOFFONzwingend
DSW1.6 / 1.7 / 1.8Max. Ladestrom, übertragen via Control-Pilot-PWMvariantenabhängig— (auf Nennwert der Wallbox einstellen)

Die UDP-Schnittstelle und die Modbus-TCP-Schnittstelle können nicht gleichzeitig aktiv sein. Wenn an dieser Station zuvor Modbus TCP aktiviert war, deaktivieren Sie es, bevor Sie die TapHome UDP-Vorlage einsetzen.

IP-Adresse (DSW2-Adressierung)

Für eine einzelne P20 im Netzwerk reicht die standardmäßige DHCP-Adressierung — alle DSW2-Schalter auf OFF. Die Wallbox bezieht ihre IP vom Router.

Für Mehrstationsinstallationen in einem isolierten Netzwerk kann eine feste IP-Adressierung im Bereich 192.168.25.11192.168.25.26 über DSW2.1–DSW2.4 gesetzt werden (mit DSW2.5 = OFF, DSW2.6 = ON). Jeder Schalter addiert seine Binärwertigkeit (1, 2, 4, 8) zu einer Basis von 10:

AdresseDSW2.1 (+1)DSW2.2 (+2)DSW2.3 (+4)DSW2.4 (+8)
192.168.25.11ONOFFOFFOFF
192.168.25.13ONONOFFOFF
192.168.25.17ONONONOFF
192.168.25.25ONONONON

Wenn die Wallbox DHCP nutzt, legen Sie im Router eine statische DHCP-Reservierung an, damit sich die IP nach einem Stromausfall nicht ändert. TapHome speichert die IP als Import-Parameter und erkennt das Gerät nicht automatisch.

TapHome Import-Parameter

Beim Import der Vorlage anzugeben:

  • IP Address — die IP der Wallbox im lokalen Netzwerk (Platzhalter 192.168.0.1)
  • Port7090 (durch das KEBA-Protokoll fest vorgegeben)
  • Internal poll interval — Standard 10000 ms; das KEBA-Protokoll toleriert kürzere Intervalle, empfiehlt aber mindestens 5 s zwischen Wiederholungen desselben Befehls

Verfügbare Geräte

Alle Messwerte werden aus dem vom Wallbox zurückgegebenen report 3-JSON-Payload abgeleitet. Jeder Wert wird bei jedem Polling-Zyklus aktualisiert; alle Geräte sind read-only.

Phasenspannungen
  • Phase 1 Voltage, Phase 2 Voltage, Phase 3 Voltage — Leiterspannungen in Volt, direkt aus den Feldern U1, U2, U3 der report 3-Antwort gelesen. Bei einphasigen Installationen liefert nur U1 einen sinnvollen Wert.
Phasenströme
  • Phase 1 Current, Phase 2 Current, Phase 3 Current — Ladeströme in Ampere, aus I1, I2, I3 in Milliampere gelesen und durch die Vorlage in A umgerechnet (durch 1000 geteilt). Werte sind null, wenn kein Fahrzeug lädt.
Sitzungs- und Gesamtenergie

Die Vorlage stellt zwei Energiezähler bereit, die beide denselben momentanen Wirkleistungswert ($.P aus report 3, in mW gemeldet und in kW umgerechnet) teilen:

  • Present Power — momentane Ladeleistung (kW) plus die in der aktuellen Ladesitzung gelieferte Energie. Der Sitzungsenergiezähler (E pres, Einheiten 0,1 Wh in kWh umgerechnet) wird jedes Mal auf null zurückgesetzt, wenn ein neues Kabel eingesteckt wird.
  • Total Power — momentane Ladeleistung (kW) plus der kumulative Lebensdauer-Energiezähler (E total, Einheiten 0,1 Wh in kWh umgerechnet). Dieser Zähler bleibt über Sitzungen, Neustarts und Stromausfälle hinweg erhalten und wird nie zurückgesetzt.

Beide Energiegeräte zeigen denselben Live-Leistungswert — die KEBA-Wallbox liefert nur einen einzigen momentanen Wirkleistungswert. Die Geräte unterscheiden sich nur in dem Energiezähler, den sie verfolgen (pro Sitzung vs. Lebensdauer). So können Sie in TapHome sowohl eine laufende Sitzungssumme als auch einen langfristigen Energietrend grafisch darstellen.

Fehlerbehebung

TapHome zeigt keine Daten von der Wallbox
  1. Produktcode der Wallbox auf dem Typenschild prüfen. Nur KC-P20-xxxxxx2x-xxx (c-series) und KC-P20-xxxxxx3x-xxx (c-series+PLC) unterstützen UDP — e-series und b-series lassen sich unabhängig von der Firmware nicht über UDP integrieren
  2. Sicherstellen, dass die Firmware-Version ≥ 2.5 ist. Ältere Firmware antwortet nicht auf report 3. Firmware-Updates sind im Download-Bereich auf keba.com/emobility verfügbar
  3. DSW1.3 = ON bestätigen — mit Abstand das häufigste Setup-Problem, da die DIP-Schalter unter der Anschlussfeld-Abdeckung liegen und bei der Inbetriebnahme leicht übersehen werden. Nach dem Umlegen die Service-Taste 1 Sekunde drücken oder den Sicherungsautomaten aus- und einschalten
  4. Prüfen, dass das Ethernet-Kabel nur an einem von X3 (RJ45) oder X4 (LSA+) angeschlossen ist, nicht an beiden
  5. Sicherstellen, dass UDP-Port 7090 zwischen TapHome Core und Wallbox offen ist (keine VLAN-/Firewall-Blockade)
  6. Bestätigen, dass die Modbus-TCP-Schnittstelle an der Wallbox nicht aktiv ist — UDP und Modbus TCP schließen sich gegenseitig aus
Die IP-Adresse der Wallbox ändert sich periodisch

Der Standard-Adressierungsmodus ist DHCP. Wenn der Router Leases freigibt und neu vergibt, kann die Wallbox mit einer anderen IP hochfahren. Legen Sie entweder im Router eine statische DHCP-Reservierung für die MAC-Adresse der Wallbox an oder wechseln Sie über DSW2 in den Fest-IP-Modus (bei Einzelstationen ist das selten notwendig).

Die Leistung zeigt null, obwohl das EV lädt

Die Felder P, I1/I2/I3, E pres werden nur während einer gültigen Ladesitzung gefüllt (Plug = 7, State = 3 in report 2). Wenn das Kabel eingesteckt ist, das Laden aber noch nicht begonnen hat oder vom Fahrzeug pausiert wird, ist P null. Das ist erwartetes Verhalten — bestätigen Sie es über die Status-LED der Wallbox (leuchtet grün während aktivem Laden).

Die Sitzungsenergie passt nicht zu einem Ladevorgang

Der Zähler E pres wird beim Start einer neuen Sitzung (Einstecken) zurückgesetzt. Wenn sich das EV in Ihrem Logging-Fenster trennt und erneut verbindet, beginnt eine frische Sitzung und der Zähler startet bei null. Für kumulative Statistiken über Sitzungen hinweg nutzen Sie den Lebensdauer-Zähler (Total Power).

Verfügbare Geräte

Keba KeContact P20 Leistungsüberwachung Modul
Benutzerdefinierte Variablen

Keba KeContact P20 Power monitoring

Lesen (Modul)
SENDDATA("report 3");
Listener
VAR jsonString := TOSTRING(RECEIVEDBYTES);
VAR id := PARSEJSON(jsonString, "$.ID", 1);

IF(id = 3)
    report3 := jsonString;
END
Strom Phase 1 Variable Nur lesen
numeric Einheit: A json_path

Strom Phase 1

Listener
Va := PARSEJSON(report3, "$.I1", 1) / 1000.0
Strom Phase 2 Variable Nur lesen
numeric Einheit: A json_path

Strom Phase 2

Listener
Va := PARSEJSON(report3, "$.I2", 1) / 1000.0
Strom Phase 3 Variable Nur lesen
numeric Einheit: A json_path

Strom Phase 3

Listener
Va := PARSEJSON(report3, "$.I3", 1) / 1000.0
Aktuelle Leistung Stromzähler Nur lesen

Momentane Ladeleistung (kW) und in der aktuellen Ladesitzung gelieferte Energie (kWh) — wird beim Einstecken zurückgesetzt

numeric Einheit: kW / kWh json_path

Aktuelle Leistung

Listener
Ed := PARSEJSON(report3, "$.['E pres']", 1) / 10000.0;
To := PARSEJSON(report3, "$.P", 1) / 1000000.0
Gesamtleistung Stromzähler Nur lesen

Momentane Ladeleistung (kW) und der kumulative Lebensdauer-Energiezähler (kWh) — bleibt über Sitzungen und Neustarts hinweg erhalten

numeric Einheit: kW / kWh json_path

Gesamtleistung

Listener
Ed := PARSEJSON(report3, "$.['E total']", 1) / 10000.0;
To := PARSEJSON(report3, "$.P", 1) / 1000000.0
Spannung Phase 1 Variable Nur lesen
numeric Einheit: V json_path

Spannung Phase 1

Listener
Va := PARSEJSON(report3, "$.U1", 1)
Spannung Phase 2 Variable Nur lesen
numeric Einheit: V json_path

Spannung Phase 2

Listener
Va := PARSEJSON(report3, "$.U2", 1)
Spannung Phase 3 Variable Nur lesen
numeric Einheit: V json_path

Spannung Phase 3

Listener
Va := PARSEJSON(report3, "$.U3", 1)
Verbindung: Packet Parser → UDP
Mögliche Verbesserungen (17)
  • Power Factor — Power factor (cosphi) reported as 0.1% units (0–1000). Present in the `report 3` JSON response but not mapped to any device in the template.
  • Serial Number — 8-character device serial. Available in `report 3` (and `report 1` / `report 2`) but not exposed by the template.
  • System Uptime — System clock seconds since last startup. Useful for reboot detection but not surfaced by the template.
  • Firmware / Product / Backend / timeQ — Basic device identification (Product, Serial, Firmware, COM-module, Backend, timeQ). Template polls only `report 3`; `report 1` would need to be added for identification diagnostics.
  • Charging State / Plug / Error / Max Curr / Input — Full operating state (State 0–5 = Startup/Not ready/Ready/Charging/Error/Interrupted, Plug 0/1/3/5/7, Error1/Error2, Max curr, Curr HW, Enable sys/user, Input X1). Required for any status-aware automation — template is measurement-only.
  • Charging Session History — Last 30 charging sessions (Session ID, E start, E pres, start/end timestamps, termination reason, RFID tag). Not applicable to real-time monitoring.
  • Set Charging Current (with delay) — Primary active-load-control command (non-permanent). Would allow TapHome to modulate charging current based on PV surplus. Template is read-only — no service action exposed.
  • Set Charging Current (permanent) — Permanent current override (6000–63000 mA). KEBA recommends `currtime` instead for regular use.
  • Enable / Disable Charging — Permanently disable (0) or enable (1) the station until reboot. Not implemented — template cannot pause charging.
  • RFID Start / Stop — Programmatic RFID authorization. Relevant only if AuthON = 1 and a whitelist is configured.
  • Set Energy Limit — Sets an energy limit for the active/next charging session (0.1 Wh units). Charging stops when reached.
  • Auxiliary Relay Output (X2) — Controls auxiliary relay terminal X2 (open / close / pulse). Requires DIP DSW1.2 = ON.
  • Unlock Socket — Unlocks the charging socket (requires charging to be stopped first). Useful after an interrupted session.
  • Show Display Text — P30 only — not functional on P20 (no display). Listed for reference.
  • Set Station Clock — Set the station clock via Unix epoch. Useful when NTP is unavailable.
  • Failsafe Configuration — Fallback current when communication is lost. Valuable safety feature for any load-control integration but not exposed by the read-only template.
  • Push Notifications on State Change — Station can push State, Plug, Input, Enable sys, Max curr and E pres changes to the last UDP sender without polling. Template uses polling only.

Quellen

  • KeContact P20 / P30 UDP Programmers Guide V 2.03
    sollis.de 2026-04-23
  • KeContact P20 / P30 Installation manual V 3.20
    www.keba.com 2026-04-23

Haben Sie ein Problem mit dieser Gerätevorlage gefunden?

Sagen Sie uns, was nicht funktioniert, was fehlt oder wie sich die Vorlage verhalten sollte. Ihr Feedback hilft uns, den Katalog genau zu halten.

Von TapHome verifiziert

Möchtest du das in deinem TapHome Core verwenden?

Öffne diese Vorlage im Kundenportal, um sie auf eine deiner Wohnungen anzuwenden, oder entwirf eine Anpassung und reiche sie an den Katalog ein.

Im Portal öffnen