---
title: "KEBA KeContact P20 Monitorowanie mocy"
description: "Monitoruj moc ładowania, prądy i napięcia fazowe oraz energię sesji na wallboxie EV KEBA KeContact P20 przez UDP — szablon TapHome tylko do odczytu."
url: "https://taphome.com/pl/compatibility/keba-kecontact-p20-power-monitoring/"
language: pl
lastmod: 2026-04-23
generator: hugo
ai:
  topics: ["udp","wallbox","ev-charging","ethernet","power-monitoring","packet-parser"]
  questions: ["Jak zintegrować KEBA KeContact P20 z TapHome?","Co mierzy szablon KEBA KeContact P20 Power Monitoring?","Jak aktywować komunikację UDP na wallboxie KEBA P20?","Czy TapHome może sterować prądem ładowania na KEBA KeContact P20?","Które warianty KEBA P20 i wersje firmware obsługują UDP?","Dlaczego TapHome nie otrzymuje danych z KEBA P20 na porcie 7090?"]
---

# KEBA KeContact P20 Monitorowanie mocy

Komunikacja: Packet Parser → UDP

- [KEBA e-mobility (oficjalna strona)](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 na wariantach sprzętowych **c-series** i **c-series+PLC** (kody produktu `KC-P20-xxxxxx2x-xxx` i `KC-P20-xxxxxx3x-xxx`) z firmware'em **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 3` na IP wallboxa, a wallbox odpowiada payloadem JSON zawierającym napięcia i prądy fazowe, chwilową moc czynną, energię sesji i energię całkowitą.

> [!NOTE]
> Ten szablon służy do **monitorowania mocy tylko do odczytu**. Nie uruchamia ani nie zatrzymuje ładowania, nie moduluje prądu ładowania i nie autoryzuje sesji RFID. Jeśli potrzebne jest aktywne sterowanie obciążeniem (np. ładowanie z nadwyżki PV), użyj innej integracji — następcę KeContact P30 obsługuje dedykowany szablon [KEBA KeContact P30 Stacja ładowania](https://taphome.com/pl/compatibility/keba-kecontact-p30-charging-station/), który używa Modbus TCP i zapewnia pełne sterowanie ładowaniem.

## 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 firmware nie obsługuje polecenia `report 3`)
- Wallbox podłączony do tej samej sieci LAN co TapHome Core przez Ethernet (zaciski LSA+ X4 lub gniazdo RJ45 X3)
- Port UDP **7090** nie jest blokowany przez żaden firewall między Core a wallboxem
- Interfejs Modbus TCP musi być **wyłączony** — interfejsy UDP i Modbus TCP wykluczają się wzajemnie na P20

## Połączenie sprzętowe

P20 zapewnia dwa fizyczne interfejsy Ethernet. Są one podłączone równolegle na płytce PCB i tylko jeden może być używany jednocześnie — nieużywany musi być odłączony.

- **Ethernet1 (X4)** — zaciski przebijające LSA+, zalecane do trwałych instalacji sztywnych (użyj oryginalnego narzędzia KRONE; podłącz zgodnie z kodem kolorów TIA-568A/B dla 100BaseT, ekran załóż ~1 cm i przymocuj do punktu uziemiającego [Shd])
- **Ethernet2 (X3)** — gniazdo RJ45, przeznaczone do serwisu/debug, ale użyteczne, jeśli kabel RJ45 jest już poprowadzony do rozdzielnicy

Użyj kabla Cat 5e lub Cat 6 STP. Listwa zaciskowa (X4) przyjmuje średnice przewodów 0,36–0,81 mm (AWG 27–20) dla przewodu sztywnego i 7 × 0,2 mm (AWG 24) dla przewodu elastycznego.

> [!WARNING]
> Prądy wyrównawcze płynące przez ekranowanie Ethernetu w rozległych instalacjach mogą uszkodzić interfejs. Skonsultuj rozbudowę sieci TN-S z odpowiedzialnym za instalacje budynku, jeśli wallbox i Core znajdują się w różnych podsystemach.

## Konfiguracja

### Włączanie interfejsu UDP SmartHome

Interfejs UDP jest aktywowany pojedynczym przełącznikiem DIP na płytce PCB wallboxa, znajdującym się pod pokrywą panelu złączy.

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

1. Wyłącz wallbox na wyłączniku nadprądowym
2. Zdejmij pokrywę obudowy i pokrywę panelu złączy, aby uzyskać dostęp do banków przełączników DIP (DSW1 na górze, DSW2 na dole)
3. Ustaw **DSW1.3 = ON**, aby aktywować interfejs UDP SmartHome
4. Naciśnij przycisk serwisowy na ~1 sekundę lub wyłącz i włącz wallbox — zmiany przełączników DIP wchodzą w życie dopiero po ponownym uruchomieniu

Kompletny bank DSW1 jest udokumentowany w Installation Manual. Tutaj wymieniono tylko wiersze istotne dla integracji UDP:

| DIP | Funkcja | Domyślne | Wymagane dla UDP |
|-----|----------|---------|-------------------|
| DSW1.1 | Zewnętrzne wejście aktywujące [X1] używane | OFF | — (pozostawić bez zmian, jeśli styk aktywujący nie jest podłączony) |
| DSW1.2 | Wyjście stykowe [X2] w trybie monitorowania stycznika | OFF (wyświetlanie stanu) | — (nieistotne dla tego szablonu) |
| **DSW1.3** | **Aktywacja SmartHome Interface przez UDP** | **OFF** | **ON** — **obowiązkowe** |
| DSW1.6 / 1.7 / 1.8 | Maks. prąd ładowania przesyłany przez PWM Control Pilot | zależy od wariantu | — (ustawić zgodnie ze znamionową wartością wallboxa) |

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

### Adres IP (adresowanie DSW2)

Dla pojedynczego P20 w sieci wystarcza domyślne adresowanie DHCP — wszystkie przełączniki DSW2 ustawione na OFF. Wallbox pobiera IP z routera.

Dla instalacji wielostacyjnych w izolowanej sieci można ustawić stałe adresowanie IP w zakresie `192.168.25.11`–`192.168.25.26` przez DSW2.1–DSW2.4 (z DSW2.5 = OFF, DSW2.6 = ON). Każdy przełącznik dodaje swoją wagę binarną (1, 2, 4, 8) do podstawy 10:

| Adres | 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 |

### Parametry importu TapHome

Przy imporcie szablonu podaj:

- **IP Address** — IP wallboxa w sieci lokalnej (zastępczo `192.168.0.1`)
- **Port** — `7090` (stały, wymagany 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 pomiary pochodzą z payloadu JSON `report 3` zwracanego przez wallbox. Każda wartość aktualizuje się w każdym cyklu odpytywania; wszystkie urządzenia są tylko do odczytu.

### Napięcia fazowe

- **Phase 1 Voltage**, **Phase 2 Voltage**, **Phase 3 Voltage** — napięcia liniowe w woltach, odczytywane bezpośrednio z pól `U1`, `U2`, `U3` odpowiedzi `report 3`. Przy instalacjach jednofazowych tylko U1 podaje sensowną wartość.

### Prądy fazowe

- **Phase 1 Current**, **Phase 2 Current**, **Phase 3 Current** — prądy ładowania w amperach, odczytywane z `I1`, `I2`, `I3` w miliamperach i konwertowane na A (dzielone przez 1000) przez szablon. Wartości są zerowe, gdy żaden pojazd nie ładuje.

### Energia sesji i energia całkowita

Szablon udostępnia dwa liczniki energii, oba współdzielą ten sam odczyt chwilowej mocy czynnej (`$.P` z `report 3`, raportowany w mW i konwertowany na kW):

- **Present Power** — chwilowa moc ładowania (kW) plus energia dostarczona w **bieżącej sesji ładowania**. Licznik energii sesji (`E pres`, jednostki 0,1 Wh przeliczone na kWh) zeruje się przy każdym podłączeniu kabla.
- **Total Power** — chwilowa moc ładowania (kW) plus **licznik energii skumulowanej w całym okresie eksploatacji** (`E total`, jednostki 0,1 Wh przeliczone na kWh). Ten licznik utrzymuje się między sesjami, restartami i cyklami zasilania i nigdy nie jest zerowany.

> [!NOTE]
> Oba urządzenia energetyczne pokazują ten sam odczyt mocy na żywo — wallbox KEBA zgłasza jedną wartość chwilowej mocy czynnej. Urządzenia różnią się tylko tym, który licznik energii śledzą (per sesja vs. całkowita). Dzięki temu w TapHome można na wykresie przedstawić zarówno bieżącą sumę sesji, jak i długoterminowy trend energii.

## Rozwiązywanie problemów

### TapHome nie pokazuje danych z wallboxa

1. Zweryfikuj kod produktu wallboxa na tabliczce znamionowej. UDP obsługują tylko `KC-P20-xxxxxx2x-xxx` (c-series) i `KC-P20-xxxxxx3x-xxx` (c-series+PLC) — serii e-series i b-series nie można integrować przez UDP niezależnie od firmware
2. Potwierdź, że wersja firmware jest **≥ 2.5**. Starsze firmware nie odpowiada na `report 3`. Aktualizacje firmware są dostępne w strefie pobierania na keba.com/emobility
3. Potwierdź **DSW1.3 = ON** — zdecydowanie najczęstszy problem konfiguracyjny, ponieważ przełączniki DIP znajdują się pod pokrywą panelu złączy i łatwo je przeoczyć podczas uruchamiania. Po przełączeniu naciśnij przycisk serwisowy na 1 sekundę lub wyłącz i włącz wyłącznik
4. Sprawdź, że kabel Ethernet jest podłączony **tylko do jednego** z X3 (RJ45) lub X4 (LSA+), nie do obu
5. Upewnij się, że port UDP **7090** jest otwarty między TapHome Core a wallboxem (bez blokady VLAN / firewalla)
6. Potwierdź, że interfejs Modbus TCP na wallboxie nie jest aktywny — UDP i Modbus TCP wzajemnie się wykluczają

### Adres IP wallboxa okresowo się zmienia

Domyślnym trybem adresowania jest DHCP. Jeśli router zwalnia i ponownie przydziela dzierżawy, wallbox może pojawić się z innym IP. Albo ustaw w routerze statyczną rezerwację DHCP dla adresu MAC wallboxa, albo przełącz na tryb stałego IP przez DSW2 (dla pojedynczych stacji rzadko konieczne).

### Moc pokazuje zero mimo że EV się ładuje

Pola `P`, `I1/I2/I3`, `E pres` są wypełniane tylko podczas ważnej sesji ładowania (Plug = 7, State = 3 w `report 2`). Jeśli kabel jest podłączony, ale ładowanie jeszcze się nie rozpoczęło, lub jeśli ładowanie zostało wstrzymane przez pojazd, `P` będzie zerowe. To oczekiwane zachowanie — potwierdź to obserwując diodę statusu wallboxa (ciągła zielona podczas aktywnego ładowania).

### Energia sesji nie odpowiada zdarzeniu ładowania

Licznik `E pres` zeruje się na **początku** nowej sesji (podłączenie kabla). Jeśli EV w twoim oknie logowania odłączy się i podłączy ponownie, rozpoczyna się świeża sesja i licznik startuje od zera. Do statystyk skumulowanych między sesjami użyj licznika całkowitego (**Total Power**).

## Dostępne urządzenia 8

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

Keba KeContact P20 Monitorowanie mocy Moduł

Zmienne niestandardowe

Odczyt (moduł)

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

Nasłuchiwanie

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

IF(id = 3)
    report3 := jsonString;
END
```

Prąd fazy 1 Zmienna Tylko do odczytu

numeric Jednostka: A json\_path

Nasłuchiwanie

```taphome
Va := PARSEJSON(report3, "$.I1", 1) / 1000.0
```

Prąd fazy 2 Zmienna Tylko do odczytu

numeric Jednostka: A json\_path

Nasłuchiwanie

```taphome
Va := PARSEJSON(report3, "$.I2", 1) / 1000.0
```

Prąd fazy 3 Zmienna Tylko do odczytu

numeric Jednostka: A json\_path

Nasłuchiwanie

```taphome
Va := PARSEJSON(report3, "$.I3", 1) / 1000.0
```

Moc bieżąca Licznik energii Tylko do odczytu

Chwilowa moc ładowania (kW) i energia dostarczona w bieżącej sesji ładowania (kWh) — zerowana przy podłączeniu kabla

numeric Jednostka: kW / kWh json\_path

Nasłuchiwanie

```taphome
Ed := PARSEJSON(report3, "$.['E pres']", 1) / 10000.0;
To := PARSEJSON(report3, "$.P", 1) / 1000000.0
```

Moc całkowita Licznik energii Tylko do odczytu

Chwilowa moc ładowania (kW) i licznik energii skumulowanej w całym okresie eksploatacji (kWh) — utrzymuje się między sesjami i restartami

numeric Jednostka: kW / kWh json\_path

Nasłuchiwanie

```taphome
Ed := PARSEJSON(report3, "$.['E total']", 1) / 10000.0;
To := PARSEJSON(report3, "$.P", 1) / 1000000.0
```

Napięcie fazy 1 Zmienna Tylko do odczytu

numeric Jednostka: V json\_path

Nasłuchiwanie

```taphome
Va := PARSEJSON(report3, "$.U1", 1)
```

Napięcie fazy 2 Zmienna Tylko do odczytu

numeric Jednostka: V json\_path

Nasłuchiwanie

```taphome
Va := PARSEJSON(report3, "$.U2", 1)
```

Napięcie fazy 3 Zmienna Tylko do odczytu

numeric Jednostka: V json\_path

Nasłuchiwanie

```taphome
Va := PARSEJSON(report3, "$.U3", 1)
```

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

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

## 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/)

