TapHome

KEBA KeContact P20 Stav

Packet Parser → UDP
Přidal
Poslední aktualizace: 06. 2026
KEBA KeContact P20 Stav

KEBA KeContact P20 je AC Mode 3 EV wallbox (10–32 A, jednofázový nebo třífázový) vyráběný mezi lety 2012 a 2016. Jeho UDP-based „SmartHome Interface" je podporován na hardwarových variantách c-series a c-series+PLC (kódy produktu KC-P20-xxxxxx2x-xxx a KC-P20-xxxxxx3x-xxx) s firmwarem 2.5 nebo vyšším. Série e-series a b-series toto rozhraní neimplementují.

TapHome komunikuje s wallboxem přes UDP na portu 7090 pomocí nativního protokolu KEBA. V každém pollovacím cyklu (standardně 10 s) TapHome odešle textový příkaz report 2 na wallbox a parsuje vrácený JSON payload do zapisovatelného spínače povolení, tří reed kontaktů pro zapojení/zamčení, multi-value stavu nabíjení a zapisovatelného limitu uživatelského proudu. Řídicí příkazy (ena, curr) se posílají zpět přes stejný UDP kanál.

Tato šablona vystavuje stav a řízení. Pro elektrická měření (napětí a proudy po fázích, činný výkon a energii relace/celoživotní) importujte sesterskou šablonu KEBA KeContact P20 Měření výkonu proti témuž wallboxu — obě šablony používají různé reporty (report 2 vs. report 3) a mohou bezpečně běžet paralelně pro kompletní integraci monitorování + řízení.

Požadavky

  • KEBA KeContact P20 c-series nebo c-series+PLC (číslice elektroniky 2 nebo 3 v kódu produktu na typovém štítku)
  • Firmware ≥ 2.5 (starší firmware neimplementují UDP příkaz report 2)
  • Wallbox připojený do stejné LAN sítě jako TapHome Core přes Ethernet (LSA+ svorky X4 nebo RJ45 konektor X3)
  • UDP port 7090 nesmí být blokován firewallem mezi Core a wallboxem
  • Modbus TCP rozhraní musí být vypnuto — UDP a Modbus TCP rozhraní se na P20 vzájemně vylučují

Hardwarové připojení

Zapojení a Ethernet připojení jsou shodné se sesterskou šablonou Měření výkonu — stejné fyzické zařízení se adresuje oběma šablonami přes stejný UDP kanál. Viz KEBA KeContact P20 Měření výkonu → Hardwarové připojení pro Cat 5e/STP kabeláž, volbu LSA+ (X4) vs. RJ45 (X3) a varování o vyrovnávacích proudech přes stínění Ethernetu.

Konfigurace

Aktivace UDP SmartHome rozhraní

UDP rozhraní se aktivuje jediným DIP přepínačem na PCB wallboxu, umístěným pod krytem konektorového panelu. DSW1.3 = ON je povinné — bez něj wallbox neodpoví na žádný příkaz report na portu 7090. Změny DIP přepínačů se projeví až po stisku servisního tlačítka (~1 s) nebo vypnutí a zapnutí wallboxu.

KEBA KeContact P20 rozložení DIP přepínačů ukazující nastavení DSW1.3 ON pro aktivaci UDP SmartHome rozhraní

Kompletní tabulka DIP přepínačů (adresování DSW1 a DSW2) je zdokumentována u sesterské šablony — viz KEBA KeContact P20 Měření výkonu → Konfigurace. Nastavení je shodné, protože se jedná o stejný fyzický wallbox.

UDP rozhraní a Modbus TCP rozhraní nemohou být aktivní současně. Pokud byl na této stanici dříve zapnut Modbus TCP, před používáním TapHome UDP šablony ho vypněte.

Import parametry TapHome

Při importu šablony zadejte:

  • IP Address — IP adresa wallboxu v lokální síti (placeholder 192.168.0.1)
  • Port7090 (pevně dáno protokolem KEBA)
  • Internal poll interval — standardně 10000 ms; protokol KEBA toleruje kratší intervaly, ale doporučuje minimálně 5 s mezi opakováními stejného příkazu

Pokud wallbox používá DHCP, přiřaďte v routeru statickou DHCP rezervaci, aby se IP adresa po výpadku napájení nezměnila. TapHome ukládá IP jako import parametr a zařízení automaticky neobjevuje.

Dostupná zařízení

Všechny hodnoty jsou odvozeny z JSON payloadu report 2. Zápisy používají UDP textové příkazy ena a curr; po každém zápisu následuje okamžitý poll report 2 pro obnovení stavu šablony.

Řízení nabíjení
  • Nabíjení povoleno — zapisovatelný on/off spínač. Odesílá ena 1 pro povolení nebo ena 0 pro zakázání stanice. Zrcadlí příznak Enable user z report 2. Zápis OFF trvale pozastaví nabíjení, dokud se znovu nepovolí nebo se stanice nerestartuje; KEBA specifikuje povinnou 2sekundovou pauzu po ena 0, než je akceptován další příkaz.
  • Uživatelský nabíjecí proud — zapisovatelný maximální nabíjecí proud v ampérech. Odesílá příkaz curr v miliampérech (šablona interně násobí hodnotou 1000). Platný rozsah je 6–63 A; wallbox ořezává efektivní hodnotu na hardwarový limit (DIP přepínače, kódování kabelu, tepelné derating) a nové nastavení se projeví v PWM Control Pilota po 6–7 sekundách.

curr je trvalé nastavení — přetrvává až do dalšího zápisu curr nebo do restartu stanice. KEBA doporučuje netrvalou variantu currtime pro běžné použití, protože se resetuje při odpojení. Tato šablona vystavuje pouze curr; pro plánované nabíjení nebo automatický reset sémanticky ovládejte Uživatelský nabíjecí proud z TapHome Smart Rule, který zapíše cílovou hodnotu těsně před začátkem relace a resetuje ji na požadovanou klidovou hodnotu po odpojení.

Stav zapojení a zamčení

Tři nezávislé reed kontakty, každý odvozený ze samostatného bitu bitmasky Plug v report 2:

ZařízeníBit PlugMaskaVýznam
Zapojeno do wallboxu00x01Kabel je zapojen v zásuvce wallboxu (pro ne trvale připojené kabely)
Kabel zamčený10x02Kabel je mechanicky zamčený v zásuvce wallboxu
Zapojeno do vozidla20x04Kabel je zapojen v EV

Nabíjení vyžaduje nastavené všechny tři bity (Plug = 7). Jednotlivá zařízení umožňují rozlišit, zda uživatel odpojil auto, wallbox nebo obojí.

Stav nabíjení
  • Stav nabíjení — multi-value zařízení vystavující provozní režim wallboxu, mapované z pole State v report 2:
Raw StateVýznam v protokolu (UDP Programmers Guide V 2.03)Zobrazení v šabloně
0StartStartuje
1Nepřipraveno k nabíjení (nepřipojeno, zamčeno nebo blokováno)Nepřipraveno
2Připraveno k nabíjení, čeká na vozidloPřipraveno
3NabíjeníNabíjí
4Přítomna chybaChyba
5Nabíjení dočasně přerušenoNeautorizováno

Šablona zobrazuje raw State = 5 jako Neautorizováno, avšak KEBA UDP Programmers Guide V 2.03 (§3.2.3) dokumentuje tuto hodnotu jako „Nabíjení dočasně přerušeno" (například kvůli přehřátí nebo odepření voterem). Pokud se stav nabíjení zobrazuje jako „Neautorizováno" bez probíhající RFID relace, považujte to za dočasné přerušení, nikoli selhání autorizace. Raw hodnotu lze ověřit přímým čtením State z dotazu report 2 proti wallboxu na UDP portu 7090.

Řešení problémů

TapHome nezobrazuje žádná data z wallboxu
  1. Ověřte kód produktu wallboxu na typovém štítku. UDP podporují jen KC-P20-xxxxxx2x-xxx (c-series) a KC-P20-xxxxxx3x-xxx (c-series+PLC)
  2. Potvrďte, že verze firmwaru je ≥ 2.5. Aktualizace firmwaru jsou dostupné v download zóně na keba.com/emobility
  3. Potvrďte DSW1.3 = ON — nejčastější problém při nastavení. DIP přepínače jsou pod krytem konektorového panelu a při uvádění do provozu se snadno přehlédnou. Po přepnutí stiskněte servisní tlačítko na 1 sekundu nebo vypněte a zapněte jistič
  4. Ujistěte se, že UDP port 7090 je otevřený mezi TapHome Core a wallboxem (žádné VLAN / firewall blokování)
  5. Potvrďte, že Modbus TCP rozhraní na wallboxu není aktivní — UDP a Modbus TCP se vzájemně vylučují
Zápis spínače Nabíjení povoleno nemá účinek

Některé konfigurace stanice přepisují Enable user přes externí povolovací vstup X1 nebo přes aktivní failsafe událost. Pokud ena 1 nevyvede stanici ze stavu vypnutí:

  • Zkontrolujte, zda je DSW1.1 v poloze ON (používá se externí povolovací vstup). Pokud ano, ověřte, že kontakt X1 je sepnutý.
  • Sledujte Enable sys v raw payloadu report 2 — pokud Enable sys = 0, stanice odmítá povolení bez ohledu na Enable user (typicky kvůli failsafe timeoutu nebo tepelnému limitu). Šablona Enable sys nevystavuje; ověřte přes stavovou LED wallboxu nebo přímým UDP dotazem.
Změna Uživatelského nabíjecího proudu se neprojeví

Po zápisu nového proudu stanice potřebuje 6–7 sekund na interní uplatnění změny. Pokud se nová hodnota v readbacku nikdy neobjeví:

  • Ověřte, že cíl je v platném rozsahu 6000–63000 mA (6–63 A). Hodnoty mimo tento rozsah wallbox potichu odmítne.
  • Potvrďte, že není aktivní failsafe událost — při spuštění Max curr = Curr FS přepisuje Curr user, dokud se failsafe neresetuje.
  • Pamatujte, že curr je trvalé nastavení. Pokud stále běží předchozí příkaz currtime (vydaný jiným klientem), curr je ignorován, dokud časovač currtime nevyprší nebo ho currtime 0 0 nevynuluje.
Stav nabíjení zůstává zaseknutý na Chybě nebo Neautorizovaném

Chyba (raw State = 4) indikuje chybový stav hlášený stanicí. Pole Error1 a Error2 v report 2 nesou číselný kód chyby, ale šablona je nevystavuje — dotazujte wallbox přímo přes UDP port 7090 příkazem report 2 pro jejich přečtení nebo se podívejte na stavovou LED stanice.

Neautorizováno je popis šablony pro raw State = 5, který KEBA dokumentuje jako „Nabíjení dočasně přerušeno". Běžné příčiny zahrnují přehřátí, aktivní odepření voterem nebo záměrné přerušení v řídicím toku KEBA. Vypnutí a zapnutí wallboxu nebo vyčkání, až se podmínka přerušení skončí, obvykle obnoví stav Nabíjí. Tato šablona nevystavuje RFID autorizační tok — RFID whitelist zůstává spravovaný přes aplikaci KEBA a fyzické master karty.

Dostupná zařízení

Keba KeContact P20 Stav Modul
Vlastní proměnné

Keba KeContact P20 State

Čtení (modul)
SENDDATA("report 2");
Listener
VAR jsonString := TOSTRING(RECEIVEDBYTES);
VAR id := PARSEJSON(jsonString, "$.ID", 1);

IF(id = 2)
    report2 := jsonString;
END
Nabíjení povoleno Přepínač

Zapisovatelný on/off spínač — povoluje nebo zakazuje nabíjení přes UDP příkaz `ena` (platí trvale až do restartu nebo opětovného povolení)

boolean json_path
Hodnoty / Stavy: ${general_enabled} · ${general_disabled}

Nabíjení povoleno

Zápis stavu přepínače
SENDDATA("ena " + St);
SENDDATA("report 2");
Listener
St := PARSEJSON(report2, "$.['Enable user']", 1)
Kabel zamčený Jazýčkový kontakt Pouze ke čtení

Indikuje, zda je kabel mechanicky zamčený v zásuvce wallboxu (bit 1 pole Plug)

boolean bitmask

Kabel zamčený

Listener
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x02
Zapojeno do vozidla Jazýčkový kontakt Pouze ke čtení

Indikuje, zda je nabíjecí kabel připojen k elektrickému vozidlu (bit 2 pole Plug)

boolean bitmask

Zapojeno do vozidla

Listener
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x04
Zapojeno do wallboxu Jazýčkový kontakt Pouze ke čtení

Indikuje, zda je kabel zapojen do zásuvky wallboxu (bit 0 pole Plug)

boolean bitmask

Zapojeno do wallboxu

Listener
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x01
Stav nabíjení Vícestavový přepínač Pouze ke čtení

Provozní stav wallboxu — Startuje, Nepřipraveno, Připraveno, Nabíjí, Chyba nebo Neautorizováno

numeric json_path
Hodnoty / Stavy: ${starting} · ${notReady} · ${ready} · ${charging} · ${error} · ${notAuthorized}

Stav nabíjení

Listener
VAR state := PARSEJSON(report2, "$.State");
Mu := SWITCH(State, 0, 1, 1, 2, 2, 3, 3, 5, 4, 8, 5, 9, 1)
Uživatelský nabíjecí proud Proměnná

Zapisovatelný maximální nabíjecí proud v ampérech (6–63 A) — odesílaný do wallboxu přes UDP příkaz `curr` v miliampérech

numeric Jednotka: A json_path

Uživatelský nabíjecí proud

Zápis
SENDDATA("curr " + Va*1000);
SENDDATA("report 2");
Listener
Va := PARSEJSON(report2, "$.['Curr user']", 1) / 1000.0
Připojení: Packet Parser → UDP
Možná vylepšení (24)
  • Error Codes — Decimal error codes indicating the cause of an error state. Not exposed by the template — only the generic Error state is surfaced through the `State` device.
  • RFID Authorization Flags — AuthON (authorization function enabled) and Authreq (RFID authorization pending). Useful only when the wallbox whitelist is in use; template has no RFID flow.
  • System Enable — Separate enable flag managed by the station (distinct from `Enable user`). Goes to 0 when failsafe triggers or on thermal/hardware limits.
  • Actual Charging Current Limit — Effective current offered to the vehicle via PWM (mA) and the duty cycle (0.1% units). Different from `Curr user` — this is the resolved minimum of user setting, hardware limit, failsafe, and thermal derating.
  • Hardware Current Limit — Maximum current the hardware supports based on DIP switch amperage setting, cable coding, and temperature monitoring. Static upper bound.
  • Failsafe Current / Timeout — Fallback current and communication timeout configured via the `failsafe` command. Exposes current safety configuration; template has no diagnostic device.
  • Pending Current Setting (currtime) — Queued current value and remaining countdown from an active `currtime` command. Useful for scheduled charging but not surfaced.
  • Session Energy Limit — Active energy limit for the current/next charging session (0.1 Wh units). Set via `setenergy` command — template does not read or write it.
  • Aux Relay Output State — Last `output` command setting for the X2 auxiliary relay. Template does not mirror relay state.
  • External Enable Input (X1) — Current state of the external enable input X1 (ripple control / time switch contact). Requires DIP DSW1.1 = ON. Could be exposed as an independent reed contact.
  • Serial Number — Device serial (8 chars) present in `report 2` JSON. Not mapped to a service attribute by the template.
  • System Uptime — System clock seconds since startup. Useful for reboot detection but not surfaced.
  • Set Charging Current with Delay — Non-permanent, delayed current setting — the KEBA-recommended primary current control command (preferred over `curr`). Allows scheduled current adjustments and safe `currtime 0 1` stop.
  • Set Energy Limit — Sets a per-session energy limit (0.1 Wh units). Charging stops automatically when the limit is reached.
  • Auxiliary Relay Output (X2) — Control the auxiliary relay at terminal X2 (open/close/pulse). Requires DIP DSW1.2 = ON.
  • RFID Start / Stop — Programmatic RFID authorization when AuthON = 1 and a whitelist is configured.
  • Set Station Clock — Set the station clock via Unix epoch. Useful when NTP is unavailable.
  • Show Display Text — P30 only — not functional on P20 (no display). Listed for reference.
  • Unlock Socket — Unlocks the charging socket (requires charging to be stopped first). Useful after an interrupted session.
  • Failsafe Configuration — Fallback current when communication is lost. Important safety feature — template does not expose it.
  • Device Identification — Basic identification: Product name, Serial, Firmware, COM-module flag, Backend flag, timeQ. Template polls only `report 2`.
  • Power Monitoring — Voltage (U1/U2/U3), current (I1/I2/I3), active power (P), power factor (PF), present/total energy. Covered by the sibling `keba-kecontact-p20-power-monitoring` template.
  • 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 state monitoring.
  • 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.

Zdroje

  • 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

Našli jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Ověřeno TapHome

Chcete to použít ve svém TapHome jádře?

Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu.

Otevřít v portálu