TapHome

KEBA KeContact P20 Monitorowanie mocy

Packet Parser → UDP
Dodane przez
Ostatnia aktualizacja: 06. 2026
KEBA KeContact P20 Monitorowanie mocy

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

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

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

DIPFunkcjaDomyślneWymagane dla UDP
DSW1.1Zewnętrzne wejście aktywujące [X1] używaneOFF— (pozostawić bez zmian, jeśli styk aktywujący nie jest podłączony)
DSW1.2Wyjście stykowe [X2] w trybie monitorowania stycznikaOFF (wyświetlanie stanu)— (nieistotne dla tego szablonu)
DSW1.3Aktywacja SmartHome Interface przez UDPOFFONobowiązkowe
DSW1.6 / 1.7 / 1.8Maks. prąd ładowania przesyłany przez PWM Control Pilotzależy od wariantu— (ustawić zgodnie ze znamionową wartością wallboxa)

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.11192.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:

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

Jeśli wallbox używa DHCP, przypisz w routerze statyczną rezerwację DHCP, aby adres IP nie zmieniał się po zaniku zasilania. TapHome zapisuje IP jako parametr importu i nie wykrywa urządzenia automatycznie.

Parametry importu TapHome

Przy imporcie szablonu podaj:

  • IP Address — IP wallboxa w sieci lokalnej (zastępczo 192.168.0.1)
  • Port7090 (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.

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

Keba KeContact P20 Monitorowanie mocy Moduł
Zmienne niestandardowe

Keba KeContact P20 Power monitoring

Odczyt (moduł)
SENDDATA("report 3");
Nasłuchiwanie
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

Prąd fazy 1

Nasłuchiwanie
Va := PARSEJSON(report3, "$.I1", 1) / 1000.0
Prąd fazy 2 Zmienna Tylko do odczytu
numeric Jednostka: A json_path

Prąd fazy 2

Nasłuchiwanie
Va := PARSEJSON(report3, "$.I2", 1) / 1000.0
Prąd fazy 3 Zmienna Tylko do odczytu
numeric Jednostka: A json_path

Prąd fazy 3

Nasłuchiwanie
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

Moc bieżąca

Nasłuchiwanie
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

Moc całkowita

Nasłuchiwanie
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

Napięcie fazy 1

Nasłuchiwanie
Va := PARSEJSON(report3, "$.U1", 1)
Napięcie fazy 2 Zmienna Tylko do odczytu
numeric Jednostka: V json_path

Napięcie fazy 2

Nasłuchiwanie
Va := PARSEJSON(report3, "$.U2", 1)
Napięcie fazy 3 Zmienna Tylko do odczytu
numeric Jednostka: V json_path

Napięcie fazy 3

Nasłuchiwanie
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.

Źródła

  • 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

Znalazłeś problem z tym szablonem urządzenia?

Napisz nam, co nie działa, czego brakuje lub jak powinien zachowywać się szablon. Twoja opinia pomaga nam utrzymać katalog dokładnym.

Zweryfikowane przez TapHome

Chcesz tego użyć w swoim TapHome Core?

Otwórz ten szablon w portalu klienta, aby zastosować go w swoim domu, lub zaproponuj modyfikację i wyślij ją z powrotem do katalogu.

Otwórz w portalu