---
title: "KEBA KeContact P20 Stav"
description: "Řiďte povolení nabíjení, monitorujte stav zapojení/zamčení a stav nabíjení, nastavte limit proudu na KEBA KeContact P20 wallboxu přes UDP."
url: "https://taphome.com/cs/compatibility/keba-kecontact-p20-state/"
language: cs
lastmod: 2026-04-24
generator: hugo
ai:
  topics: ["udp","wallbox","ev-charging","ethernet","packet-parser","charging-control"]
  questions: ["Jak integrovat KEBA KeContact P20 s TapHome?","Co dělá šablona KEBA KeContact P20 State?","Jak povolit nebo zakázat nabíjení na KEBA P20 z TapHome?","Jak nastavit limit nabíjecího proudu na KEBA P20 wallboxu?","Co znamenají stavy nabíjení (Startuje, Připraveno, Nabíjí, Chyba) na KEBA P20?","Mohu importovat obě šablony KEBA P20 State i Power Monitoring proti témuž wallboxu?"]
---

# KEBA KeContact P20 Stav

Komunikace: Packet Parser → UDP

- [KEBA e-mobility (oficiální stránka)](https://www.keba.com/en/emobility/products/product-overview)

> Adresa v síti
> 
> TapHome komunikuje se zařízením na adrese zadané při importu. Dejte zařízení stálou adresu — rezervaci IP v routeru, nebo jeho mDNS jméno, pokud ho podporuje —, jinak integrace přestane fungovat, když router adresu změní.
> 
> [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/)

## Návod na integraci

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.

> [!NOTE]
> 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](https://taphome.com/cs/compatibility/keba-kecontact-p20-power-monitoring/) 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í](https://taphome.com/cs/compatibility/keba-kecontact-p20-power-monitoring/#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í](https://taphome.com/images/compatibility/keba-kecontact-p20-state/dip-switch-udp-activation_hu_56d2d7e4a149f687.jpg)

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](https://taphome.com/cs/compatibility/keba-kecontact-p20-power-monitoring/#konfigurace). Nastavení je shodné, protože se jedná o stejný fyzický wallbox.

> [!WARNING]
> 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`)
- **Port** — `7090` (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

## 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.

> [!TIP]
> `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 Plug | Maska | Význam |
|----------|----------|-------|--------|
| **Zapojeno do wallboxu** | 0 | `0x01` | Kabel je zapojen v zásuvce wallboxu (pro ne trvale připojené kabely) |
| **Kabel zamčený** | 1 | `0x02` | Kabel je mechanicky zamčený v zásuvce wallboxu |
| **Zapojeno do vozidla** | 2 | `0x04` | Kabel 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 `State` | Význam v protokolu (UDP Programmers Guide V 2.03) | Zobrazení v šabloně |
|-------------|---------------------------------------------------|---------------------|
| 0 | Start | Startuje |
| 1 | Nepřipraveno k nabíjení (nepřipojeno, zamčeno nebo blokováno) | Nepřipraveno |
| 2 | Připraveno k nabíjení, čeká na vozidlo | Připraveno |
| 3 | Nabíjení | Nabíjí |
| 4 | Přítomna chyba | Chyba |
| 5 | Nabíjení dočasně přerušeno | Neautorizováno |

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

Tato zařízení se po importu zobrazí v TapHome.

Keba KeContact P20 Stav Modul

Vlastní proměnné

Čtení (modul)

```taphome
SENDDATA("report 2");
```

Listener

```taphome
VAR jsonString := TOSTRING(RECEIVEDBYTES);
VAR id := PARSEJSON(jsonString, "$.ID", 1);

IF(id = 2)
    report2 := jsonString;
END
```

Nabíjení povoleno Přepínač Čtení i zápis

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}

Zápis stavu přepínače

```taphome
SENDDATA("ena " + St);
SENDDATA("report 2");
```

Listener

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

Listener

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

Listener

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

Listener

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

Listener

```taphome
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á Čtení i zápis

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

Zápis

```taphome
SENDDATA("curr " + Va*1000);
SENDDATA("report 2");
```

Listener

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

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci      | Výchozí       |
|------------------------|---------------|
| IP adresa              | `192.168.0.1` |
| Port                   | `7090`        |
| Internal poll interval | `10000`       |

## Zdroje

- KeContact P20 / P30 UDP Programmers Guide V 2.03
  
  [sollis.de](https://sollis.de/wp-content/uploads/UDP-Programmieranleitung.pdf) 2026-04-23
- KeContact P20 / P30 Installation manual V 3.20
  
  [www.keba.com](https://www.keba.com/file/downloads/e-mobility/KeContact_KCP20_30_ih_en.pdf) 2026-04-23

Dokumenty výrobců jsou © jejich příslušných vlastníků. Poskytujeme je tak, jak je výrobce zveřejnil, pouze pro informaci.

## Související dokumentace

- [Integrace Packet Parser](https://taphome.com/cs/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/cs/docs/integration/packet-parser/)
- [Funkce Packet parser](https://taphome.com/cs/docs/script/packet-parser/)
- [Funkce pro parsování](https://taphome.com/cs/docs/script/parsing-functions/)

