---
title: "KEBA KeContact P20 Stan"
description: "Steruj włączaniem ładowania, monitoruj stan podłączenia/blokady i stan ładowania, ustaw limit prądu na KEBA KeContact P20 przez UDP."
url: "https://taphome.com/pl/compatibility/keba-kecontact-p20-state/"
language: pl
lastmod: 2026-04-24
generator: hugo
ai:
  topics: ["udp","wallbox","ev-charging","ethernet","packet-parser","charging-control"]
  questions: ["Jak zintegrować KEBA KeContact P20 z TapHome?","Co robi szablon KEBA KeContact P20 State?","Jak włączyć lub wyłączyć ładowanie na KEBA P20 z TapHome?","Jak ustawić limit prądu ładowania na wallboxie KEBA P20?","Co oznaczają stany ładowania (Uruchamianie, Gotowy, Ładowanie, Błąd) na KEBA P20?","Czy mogę zaimportować oba szablony KEBA P20 State i Power Monitoring przeciwko temu samemu wallboxowi?"]
---

# KEBA KeContact P20 Stan

Komunikacja: Packet Parser → UDP

- [KEBA e-mobility (strona oficjalna)](https://www.keba.com/en/emobility/products/product-overview)

> Adres w sieci
> 
> TapHome łączy się z urządzeniem pod adresem podanym przy imporcie. Nadaj urządzeniu stały adres — rezerwację IP w routerze albo jego nazwę mDNS, jeśli ją obsługuje — inaczej integracja przestanie działać, gdy router zmieni adres.
> 
> [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/)

## Poradnik integracji

KEBA KeContact P20 to wallbox EV AC Mode 3 (10–32 A, jednofazowy lub trójfazowy) produkowany w latach 2012–2016. Jego oparty na UDP „SmartHome Interface" jest obsługiwany przez warianty sprzętowe **c-series** i **c-series+PLC** (kody produktu `KC-P20-xxxxxx2x-xxx` i `KC-P20-xxxxxx3x-xxx`) z firmware **2.5 lub wyższym**. Serie e-series i b-series nie implementują tego interfejsu.

TapHome komunikuje się z wallboxem przez **UDP na porcie 7090** przy użyciu natywnego protokołu KEBA. W każdym cyklu odpytywania (domyślnie 10 s) TapHome wysyła tekstowe polecenie `report 2` do wallboxa i parsuje zwracany payload JSON na zapisywalny przełącznik włączania, trzy kontakty reed dla stanu podłączenia/blokady, wielowartościowy stan ładowania i zapisywalny limit prądu użytkownika. Polecenia sterujące (`ena`, `curr`) są wysyłane z powrotem przez ten sam kanał UDP.

> [!NOTE]
> Ten szablon udostępnia **stan i sterowanie**. Dla pomiarów elektrycznych (napięć i prądów fazowych, mocy czynnej oraz energii sesji/dożywotniej) zaimportuj bliźniaczy szablon [KEBA KeContact P20 Monitorowanie mocy](https://taphome.com/pl/compatibility/keba-kecontact-p20-power-monitoring/) na ten sam wallbox — oba szablony używają różnych raportów (`report 2` vs. `report 3`) i mogą bezpiecznie działać równolegle, zapewniając kompletną integrację monitorowania + sterowania.

## Wymagania

- KEBA KeContact P20 **c-series** lub **c-series+PLC** (cyfra elektroniki `2` lub `3` w kodzie produktu na tabliczce znamionowej)
- Firmware **≥ 2.5** (starsze wersje firmware nie implementują polecenia UDP `report 2`)
- Wallbox podłączony do tej samej sieci LAN co TapHome Core przez Ethernet (zaciski LSA+ X4 lub gniazdo RJ45 X3)
- Port UDP **7090** nie może być blokowany przez firewall między Core a wallboxem
- Interfejs Modbus TCP musi być **wyłączony** — UDP i Modbus TCP wzajemnie się wykluczają na P20

## Połączenie sprzętowe

Okablowanie i połączenie Ethernet są identyczne jak w bliźniaczym szablonie Monitorowanie mocy — to samo fizyczne urządzenie jest adresowane przez oba szablony przez ten sam kanał UDP. Zobacz [KEBA KeContact P20 Monitorowanie mocy → Połączenie sprzętowe](https://taphome.com/pl/compatibility/keba-kecontact-p20-power-monitoring/#połączenie-sprzętowe) dla okablowania Cat 5e/STP, wyboru LSA+ (X4) vs. RJ45 (X3) i ostrzeżenia o prądach wyrównawczych przez ekran Ethernetu.

## Konfiguracja

### Aktywacja interfejsu UDP SmartHome

Interfejs UDP jest aktywowany przez pojedynczy przełącznik DIP na PCB wallboxa, znajdujący się pod pokrywą panelu złączy. **DSW1.3 = ON** jest obowiązkowe — bez tego wallbox nie odpowie na żadne polecenie `report` na porcie 7090. Zmiany przełączników DIP stają się aktywne dopiero po naciśnięciu przycisku Service (~1 s) lub po cyklu zasilania.

![Układ przełączników DIP KEBA KeContact P20 pokazujący ustawienie DSW1.3 ON do aktywacji interfejsu UDP SmartHome](https://taphome.com/images/compatibility/keba-kecontact-p20-state/dip-switch-udp-activation_hu_56d2d7e4a149f687.jpg)

Pełna tabela przełączników DIP (adresowanie DSW1 i DSW2) jest udokumentowana w bliźniaczym szablonie — zobacz [KEBA KeContact P20 Monitorowanie mocy → Konfiguracja](https://taphome.com/pl/compatibility/keba-kecontact-p20-power-monitoring/#konfiguracja). Ustawienia są identyczne, ponieważ dotyczą tego samego fizycznego wallboxa.

> [!WARNING]
> Interfejs UDP i interfejs Modbus TCP nie mogą być aktywne jednocześnie. Jeśli Modbus TCP był wcześniej włączony na tej stacji, wyłącz go przed poleganiem na szablonie UDP TapHome.

### Parametry importu TapHome

Podczas importu szablonu podaj:

- **IP Address** — adres IP wallboxa w sieci lokalnej (placeholder `192.168.0.1`)
- **Port** — `7090` (ustalony przez protokół KEBA)
- **Internal poll interval** — domyślnie `10000` ms; protokół KEBA toleruje krótsze interwały, ale zaleca co najmniej 5 s między powtórzeniami tego samego polecenia

## Dostępne urządzenia

Wszystkie wartości są pobierane z payloadu JSON `report 2`. Zapisy używają tekstowych poleceń UDP `ena` i `curr`; po każdym zapisie następuje natychmiastowe odpytanie `report 2` w celu odświeżenia stanu szablonu.

### Sterowanie ładowaniem

- **Ładowanie włączone** — zapisywalny przełącznik on/off. Wysyła `ena 1`, aby włączyć, lub `ena 0`, aby wyłączyć stację. Odzwierciedla flagę `Enable user` z `report 2`. Zapis OFF trwale wstrzymuje ładowanie do ponownego włączenia lub restartu stacji; KEBA wymaga obowiązkowej 2-sekundowej pauzy po `ena 0` przed zaakceptowaniem kolejnego polecenia.
- **Prąd ładowania użytkownika** — zapisywalny maksymalny prąd ładowania w amperach. Wysyła polecenie `curr` w miliamperach (szablon wewnętrznie mnoży przez 1000). Prawidłowy zakres to **6–63 A**; wallbox ogranicza wartość rzeczywistą do limitu sprzętowego (przełączniki DIP, kodowanie kabla, derating termiczny), a nowe ustawienie propaguje się do PWM Control Pilota po 6–7 sekundach.

> [!TIP]
> `curr` to ustawienie **trwałe** — pozostaje do następnego zapisu `curr` lub restartu stacji. KEBA zaleca nietrwały wariant `currtime` do regularnego użytku, ponieważ resetuje się przy odłączeniu kabla. Ten szablon udostępnia tylko `curr`; dla harmonogramowanego ładowania lub semantyki automatycznego resetu steruj Prądem ładowania użytkownika z reguły Smart Rule TapHome, która zapisuje wartość docelową tuż przed rozpoczęciem sesji i resetuje ją do żądanej wartości spoczynkowej po odłączeniu.

### Stan podłączenia i blokady

Trzy niezależne kontakty reed, każdy pochodzący z osobnego bitu bitmaski `Plug` w `report 2`:

| Urządzenie | Bit Plug | Maska | Znaczenie |
|------------|----------|-------|-----------|
| **Podłączone do wallboxa** | 0 | `0x01` | Kabel jest podłączony do gniazda wallboxa (dla kabli nie podłączonych na stałe) |
| **Kabel zablokowany** | 1 | `0x02` | Kabel jest mechanicznie zablokowany w gnieździe wallboxa |
| **Podłączone do pojazdu** | 2 | `0x04` | Kabel jest podłączony do EV |

Ładowanie wymaga **ustawienia wszystkich trzech bitów** (`Plug = 7`). Poszczególne urządzenia pozwalają rozróżnić, czy użytkownik odłączył auto, wallbox, czy oba.

### Stan ładowania

- **Stan ładowania** — wielowartościowe urządzenie udostępniające tryb pracy wallboxa, zmapowane z pola `State` w `report 2`:

| Raw `State` | Znaczenie w protokole (UDP Programmers Guide V 2.03) | Wyświetlenie w szablonie |
|-------------|------------------------------------------------------|--------------------------|
| 0 | Startup | Uruchamianie |
| 1 | Niegotowe do ładowania (niepodłączone, zablokowane lub wstrzymane) | Niegotowy |
| 2 | Gotowe do ładowania, czeka na pojazd | Gotowy |
| 3 | Ładowanie | Ładowanie |
| 4 | Obecny błąd | Błąd |
| 5 | Ładowanie tymczasowo przerwane | Nieautoryzowane |

> [!WARNING]
> Szablon wyświetla raw `State = 5` jako **Nieautoryzowane**, ale KEBA UDP Programmers Guide V 2.03 (§3.2.3) dokumentuje tę wartość jako „Ładowanie tymczasowo przerwane" (np. z powodu przegrzania lub odmowy voter). Jeśli Stan ładowania pokazuje „Nieautoryzowane" bez trwającej sesji RFID, traktuj to jako tymczasowe przerwanie, a nie błąd autoryzacji. Wartość raw można zweryfikować bezpośrednim odczytem `State` z zapytania `report 2` do wallboxa na porcie UDP 7090.

## Rozwiązywanie problemów

### TapHome nie pokazuje żadnych danych z wallboxa

1. Zweryfikuj kod produktu wallboxa na tabliczce znamionowej. Tylko `KC-P20-xxxxxx2x-xxx` (c-series) i `KC-P20-xxxxxx3x-xxx` (c-series+PLC) obsługują UDP
2. Potwierdź, że wersja firmware to **≥ 2.5**. Aktualizacje firmware są dostępne w strefie pobierania na keba.com/emobility
3. Potwierdź **DSW1.3 = ON** — najczęstszy problem z konfiguracją. Przełączniki DIP znajdują się pod pokrywą panelu złączy i łatwo je przeoczyć podczas uruchamiania. Po przełączeniu naciśnij przycisk Service przez 1 sekundę lub przełącz wyłącznik zasilania
4. Upewnij się, że port UDP **7090** jest otwarty między TapHome Core a wallboxem (brak blokowania VLAN / firewall)
5. Potwierdź, że interfejs Modbus TCP na wallboxie nie jest aktywny — UDP i Modbus TCP wzajemnie się wykluczają

### Zapis przełącznika Ładowanie włączone nie działa

Niektóre konfiguracje stacji nadpisują `Enable user` przez zewnętrzne wejście włączania X1 lub przez aktywne zdarzenie failsafe. Jeśli `ena 1` nie wyprowadza stacji ze stanu wyłączenia:

- Sprawdź, czy DSW1.1 jest w pozycji ON (używane zewnętrzne wejście włączania). Jeśli tak, zweryfikuj, że styk X1 jest zamknięty.
- Obserwuj `Enable sys` w surowym payloadzie `report 2` — jeśli `Enable sys = 0`, stacja odmawia włączenia niezależnie od `Enable user` (zazwyczaj z powodu timeoutu failsafe lub limitu termicznego). Szablon nie udostępnia `Enable sys`; potwierdź przez status LED wallboxa lub bezpośrednie zapytanie UDP.

### Zmiana Prądu ładowania użytkownika nie propaguje się

Po zapisie nowego prądu stacja potrzebuje **6–7 sekund** na wewnętrzne zastosowanie zmiany. Jeśli nowa wartość nigdy nie pojawia się w odczycie zwrotnym:

- Zweryfikuj, że cel mieści się w prawidłowym zakresie **6000–63000 mA** (6–63 A). Wartości poza tym zakresem są po cichu odrzucane przez wallbox.
- Potwierdź, że nie ma aktywnego zdarzenia failsafe — po aktywacji `Max curr = Curr FS` nadpisuje `Curr user` do czasu zresetowania failsafe.
- Pamiętaj, że `curr` to ustawienie **trwałe**. Jeśli poprzednie polecenie `currtime` nadal działa (wydane przez innego klienta), `curr` jest ignorowany do czasu wygaśnięcia timera `currtime` lub do jego wyzerowania przez `currtime 0 0`.

### Stan ładowania utknął na Błędzie lub Nieautoryzowanym

**Błąd** (raw `State = 4`) wskazuje na stan błędu zgłoszony przez stację. Pola `Error1` i `Error2` w `report 2` zawierają numeryczny kod błędu, ale nie są udostępniane przez szablon — zapytaj wallboxa bezpośrednio przez port UDP 7090 poleceniem `report 2`, aby je odczytać, lub sprawdź status LED stacji.

**Nieautoryzowane** to etykieta szablonu dla raw `State = 5`, który KEBA dokumentuje jako „Ładowanie tymczasowo przerwane". Typowe przyczyny obejmują przegrzanie, aktywną odmowę voter lub celowe przerwanie w strumieniu sterowania KEBA. Cykl zasilania wallboxa lub oczekiwanie na ustąpienie warunku przerwania zwykle przywraca stan Ładowanie. Ten szablon nie udostępnia procesu autoryzacji RFID — biała lista RFID pozostaje zarządzana przez aplikację KEBA i fizyczne karty master.

## Dostępne urządzenia 6

Te urządzenia pojawią się w TapHome po imporcie.

Keba KeContact P20 Stan Moduł

Zmienne niestandardowe

Odczyt (moduł)

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

Nasłuchiwanie

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

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

Ładowanie włączone Przełącznik Odczyt i zapis

Zapisywalny przełącznik on/off — włącza lub wyłącza ładowanie przez polecenie UDP \`ena\` (trwałe do restartu lub ponownego włączenia)

boolean json\_path

Wartości / Stany: ${general\_enabled} · ${general\_disabled}

Zapis stanu przełącznika

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

Nasłuchiwanie

```taphome
St := PARSEJSON(report2, "$.['Enable user']", 1)
```

Kabel zablokowany Kontakt reed Tylko do odczytu

Wskazuje, czy kabel jest mechanicznie zablokowany w gnieździe wallboxa (bit 1 pola Plug)

boolean bitmask

Nasłuchiwanie

```taphome
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x02
```

Podłączone do pojazdu Kontakt reed Tylko do odczytu

Wskazuje, czy kabel ładujący jest podłączony do pojazdu elektrycznego (bit 2 pola Plug)

boolean bitmask

Nasłuchiwanie

```taphome
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x04
```

Podłączone do wallboxa Kontakt reed Tylko do odczytu

Wskazuje, czy kabel jest podłączony do gniazda wallboxa (bit 0 pola Plug)

boolean bitmask

Nasłuchiwanie

```taphome
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x01
```

Stan ładowania Przełącznik wielowartościowy Tylko do odczytu

Stan operacyjny wallboxa — Uruchamianie, Niegotowy, Gotowy, Ładowanie, Błąd lub Nieautoryzowane

numeric json\_path

Wartości / Stany: ${starting} · ${notReady} · ${ready} · ${charging} · ${error} · ${notAuthorized}

Nasłuchiwanie

```taphome
VAR state := PARSEJSON(report2, "$.State");
Mu := SWITCH(State, 0, 1, 1, 2, 2, 3, 3, 5, 4, 8, 5, 9, 1)
```

Prąd ładowania użytkownika Zmienna Odczyt i zapis

Zapisywalny maksymalny prąd ładowania w amperach (6–63 A) — wysyłany do wallboxa poleceniem UDP \`curr\` w miliamperach

numeric Jednostka: A json\_path

Zapis

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

Nasłuchiwanie

```taphome
Va := PARSEJSON(report2, "$.['Curr user']", 1) / 1000.0
```

**Połączenie:** Packet Parser → UDP

Możliwe ulepszenia (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

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji    | Domyślnie     |
|------------------------|---------------|
| Adres IP               | `192.168.0.1` |
| Port                   | `7090`        |
| Internal poll interval | `10000`       |

## Źródła

- 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 producentów są © ich właścicieli. Udostępniamy je w formie opublikowanej przez producenta, wyłącznie w celach informacyjnych.

## Powiązana dokumentacja

- [Integracja Packet Parser](https://taphome.com/pl/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)

