TapHome

KEBA KeContact P20 State

Packet Parser → UDP
Trimis de
Ultima actualizare: 04. 2026
KEBA KeContact P20 State

KEBA KeContact P20 este o stație de încărcare AC Mode 3 pentru vehicule electrice (10–32 A, monofazată sau trifazată), produsă între 2012 și 2016. Interfața sa „SmartHome Interface” bazată pe UDP este disponibilă la variantele hardware c-series și c-series+PLC (coduri de produs KC-P20-xxxxxx2x-xxx și KC-P20-xxxxxx3x-xxx) cu firmware 2.5 sau mai nou. Seriile e-series și b-series nu implementează această interfață.

TapHome comunică cu stația de încărcare prin UDP pe portul 7090, folosind protocolul nativ KEBA. La fiecare ciclu de interogare (implicit 10 s), TapHome trimite stației comanda text report 2 și transformă mesajul JSON returnat într-un comutator de activare care poate fi setat, trei contacte Reed pentru conector/blocare, o stare a încărcării cu mai multe valori și o limită de curent a utilizatorului care poate fi setată. Comenzile de control (ena, curr) se trimit înapoi prin același canal UDP.

Acest șablon oferă starea și controlul. Pentru măsurătorile electrice (tensiunile și curenții pe faze, puterea activă și energia sesiunii / pe toată durata de viață), importați pentru aceeași stație de încărcare și șablonul înrudit KEBA KeContact P20 Power Monitoring — cele două șabloane folosesc rapoarte diferite (report 2 vs. report 3) și pot funcționa în paralel fără probleme, pentru o integrare completă de monitorizare + control.

Cerințe

  • KEBA KeContact P20 c-series sau c-series+PLC (cifra 2 sau 3 pentru varianta electronicii, în codul de produs de pe plăcuța de identificare)
  • Firmware ≥ 2.5 (firmware-ul mai vechi nu implementează comanda UDP report 2)
  • Stația de încărcare conectată prin Ethernet la aceeași rețea LAN cu TapHome Core (bornele LSA+ X4 sau mufa RJ45 X3)
  • Portul UDP 7090 neblocat de niciun firewall între Core și stația de încărcare
  • Interfața Modbus TCP trebuie să fie dezactivată — la P20, interfețele UDP și Modbus TCP se exclud reciproc

Conectarea hardware

Cablarea și conexiunea Ethernet sunt identice cu cele ale șablonului înrudit Power Monitoring — același dispozitiv fizic este adresat de ambele șabloane prin același canal UDP. Cablarea Cat 5e/STP, alegerea dintre LSA+ (X4) și RJ45 (X3) și avertizarea privind curenții de egalizare prin ecranarea Ethernet le găsiți în KEBA KeContact P20 Power Monitoring → Conectarea hardware.

Configurare

Activarea interfeței UDP SmartHome

Interfața UDP se activează dintr-un singur comutator DIP de pe placa electronică a stației de încărcare, aflat sub capacul panoului de conexiuni. DSW1.3 = ON este obligatoriu — fără această setare stația nu răspunde la nicio comandă report pe portul 7090. Modificările comutatoarelor DIP intră în vigoare doar după apăsarea butonului Service (aprox. 1 s) sau după o repornire prin întreruperea alimentării.

Dispunerea comutatoarelor DIP KEBA KeContact P20 cu setarea DSW1.3 ON pentru activarea interfeței UDP SmartHome

Tabelul complet al comutatoarelor DIP (adresarea DSW1 și DSW2) este documentat la șablonul înrudit — consultați KEBA KeContact P20 Power Monitoring → Configurare. Configurarea este identică, deoarece este vorba de aceeași stație de încărcare fizică.

Interfața UDP și interfața Modbus TCP nu pot fi active în același timp. Dacă pe această stație a fost activată anterior interfața Modbus TCP, dezactivați-o înainte de a vă baza pe șablonul UDP TapHome.

Parametrii de import TapHome

La importul șablonului introduceți:

  • IP Address — adresa IP a stației de încărcare în rețeaua locală (valoare exemplificativă: 192.168.0.1)
  • Port — 7090 (fixat de protocolul KEBA)
  • Internal poll interval — implicit 10000 ms; protocolul KEBA tolerează intervale mai scurte, dar recomandă cel puțin 5 s între repetările aceleiași comenzi

Dacă stația de încărcare folosește DHCP, atribuiți-i în router o rezervare DHCP statică, pentru ca adresa IP să nu se schimbe după o pană de curent. TapHome stochează adresa IP ca parametru de import și nu descoperă dispozitivul automat.

Funcțiile dispozitivului

Toate valorile provin din mesajul JSON report 2. Scrierile folosesc comenzile text UDP ena și curr; după fiecare scriere urmează imediat o interogare report 2, care actualizează starea șablonului.

Controlul încărcării
  • Încărcare activată — comutator pornit/oprit care poate fi setat. Trimite ena 1 pentru activarea sau ena 0 pentru dezactivarea stației. Reflectă indicatorul Enable user din report 2. Scrierea valorii OFF suspendă încărcarea permanent, până la o nouă activare sau până la repornirea stației; KEBA prevede o pauză obligatorie de 2 secunde după ena 0, înainte ca următoarea comandă să fie acceptată.
  • Curent de încărcare setat de utilizator — curentul maxim de încărcare în amperi, care poate fi setat. Trimite comanda curr în miliamperi (șablonul înmulțește intern valoarea cu 1000). Intervalul valid este 6–63 A; stația de încărcare limitează valoarea efectivă la limita hardware (comutatoare DIP, codificarea cablului, reducerea termică a puterii), iar noua setare este aplicată semnalului PWM Control Pilot după 6–7 secunde.

curr este o setare permanentă — se păstrează până la următoarea scriere curr sau până la repornirea stației. Pentru utilizarea obișnuită, KEBA recomandă varianta nepermanentă currtime, care se resetează la deconectarea cablului. Acest șablon oferă doar curr; pentru încărcarea programată sau pentru resetarea automată, comandați Curentul de încărcare setat de utilizator dintr-un smart rule TapHome, care scrie valoarea dorită chiar înainte de începerea sesiunii și o readuce la valoarea de repaus dorită după deconectarea cablului.

Starea conectorului și a blocării

Trei contacte Reed independente, fiecare derivat dintr-un alt bit al măștii de biți Plug din report 2:

DispozitivBit PlugMascăSemnificație
Conectat la stația de încărcare00x01Cablul este conectat în priza stației de încărcare (la cablurile care nu sunt atașate permanent)
Cablu blocat10x02Cablul este blocat mecanic în priza stației de încărcare
Conectat la vehicul20x04Cablul este conectat la vehiculul electric

Încărcarea necesită toți cei trei biți setați (Plug = 7). Dispozitivele individuale vă permit să distingeți dacă utilizatorul a deconectat mașina, stația de încărcare sau ambele.

Starea încărcării
  • Starea încărcării — dispozitiv cu mai multe valori care arată modul de funcționare al stației de încărcare, mapat din câmpul brut State din report 2:
State brutSemnificația în protocol (UDP Programmers Guide V 2.03)Afișare în șablon
0PornirePornire
1Nu este pregătită pentru încărcare (neconectată, blocată sau interzisă)Nepregătită
2Pregătită pentru încărcare, așteaptă vehicululPregătită
3ÎncărcareÎncărcare
4Există o eroareEroare
5Încărcare întreruptă temporarNeautorizată

Șablonul afișează valoarea brută State = 5 ca Neautorizată, dar ghidul KEBA UDP Programmers Guide V 2.03 (§3.2.3) documentează această valoare ca „încărcare întreruptă temporar” („Charging temporarily interrupted”) (de exemplu din cauza supratemperaturii sau a unui refuz al unui voter). Dacă Starea încărcării arată „Neautorizată” fără o sesiune RFID în desfășurare, tratați-o ca o întrerupere temporară, nu ca o eroare de autorizare. Valoarea brută se poate verifica citind State direct dintr-o interogare report 2 trimisă stației pe portul UDP 7090.

Depanare

TapHome nu afișează date de la stația de încărcare
  1. Verificați codul de produs al stației de pe plăcuța de identificare. Doar KC-P20-xxxxxx2x-xxx (c-series) și KC-P20-xxxxxx3x-xxx (c-series+PLC) acceptă UDP
  2. Verificați dacă versiunea firmware este ≥ 2.5. Actualizările de firmware sunt disponibile în zona de descărcări de pe keba.com/emobility
  3. Verificați dacă DSW1.3 = ON — cea mai frecventă problemă de configurare. Comutatoarele DIP se află sub capacul panoului de conexiuni și sunt ușor de omis la punerea în funcțiune. După comutare, apăsați butonul Service timp de 1 secundă sau opriți și reporniți întrerupătorul automat
  4. Asigurați-vă că portul UDP 7090 este deschis între TapHome Core și stația de încărcare (fără blocare prin VLAN / firewall)
  5. Verificați dacă interfața Modbus TCP a stației nu este activă — UDP și Modbus TCP se exclud reciproc
Scrierea comutatorului Încărcare activată nu are efect

Unele configurații ale stației suprascriu Enable user prin intrarea externă de activare X1 sau printr-un eveniment failsafe activ. Dacă ena 1 nu scoate stația din starea dezactivată:

  • Verificați dacă DSW1.1 este pe ON (se folosește intrarea externă de activare). Dacă da, verificați dacă contactul X1 este închis.
  • Urmăriți Enable sys în mesajul brut report 2 — dacă Enable sys = 0, stația refuză activarea indiferent de Enable user (de regulă din cauza expirării timpului failsafe sau a unei limite termice). Șablonul nu oferă Enable sys; verificați starea prin LED-ul stației de încărcare sau printr-o interogare UDP directă.
Modificarea Curentului de încărcare setat de utilizator nu se aplică

După scrierea unui curent nou, stației îi trebuie 6–7 secunde pentru a aplica intern modificarea. Dacă noua valoare nu apare niciodată la recitire:

  • Verificați dacă valoarea dorită se încadrează în intervalul valid 6000–63000 mA (6–63 A). Valorile din afara acestui interval sunt respinse de stația de încărcare fără niciun mesaj.
  • Verificați să nu existe un eveniment failsafe activ — când este declanșat, Max curr = Curr FS are prioritate față de Curr user până la resetarea failsafe.
  • Rețineți că curr este o setare permanentă. Dacă o comandă currtime anterioară este încă activă (trimisă de alt client), curr este ignorată până la expirarea temporizatorului currtime sau până când currtime 0 0 îl anulează.
Starea încărcării rămâne blocată pe Eroare sau Neautorizată

Eroare (valoarea brută State = 4) indică o stare de eroare raportată de stație. Câmpurile Error1 și Error2 din report 2 conțin codul numeric al erorii, dar nu sunt oferite de șablon — interogați stația de încărcare direct prin portul UDP 7090 cu report 2 pentru a le citi sau urmăriți LED-ul de stare al stației.

Neautorizată este eticheta de afișare a șablonului pentru valoarea brută State = 5, pe care KEBA o documentează ca „încărcare întreruptă temporar”. Cauzele frecvente sunt supratemperatura, refuzul activ al unui voter sau o întrerupere intenționată în fluxul de control KEBA. Repornirea stației prin întreruperea alimentării sau așteptarea dispariției cauzei întreruperii readuce de obicei stația în starea Încărcare. Acest șablon nu oferă un flux de autorizare RFID — lista cardurilor RFID autorizate se gestionează în continuare prin aplicația KEBA și prin cardurile master fizice.

Dispozitive disponibile

Keba KeContact P20 State Modul
Variabile personalizate

Keba KeContact P20 State

Citire (modul)
SENDDATA("report 2");
Ascultător
VAR jsonString := TOSTRING(RECEIVEDBYTES);
VAR id := PARSEJSON(jsonString, "$.ID", 1);

IF(id = 2)
    report2 := jsonString;
END
Încărcare activată Comutator

Comutator pornit/oprit care poate fi setat — activează sau dezactivează încărcarea prin comanda UDP `ena` (permanent, până la repornire sau o nouă activare)

boolean json_path
Valori / Stări: ${general_enabled} · ${general_disabled}

Încărcare activată

Scrierea stării comutatorului
SENDDATA("ena " + St);
SENDDATA("report 2");
Ascultător
St := PARSEJSON(report2, "$.['Enable user']", 1)
Cablu blocat Contact reed Doar citire

Indică dacă cablul este blocat mecanic în priza stației de încărcare (bitul Plug 1)

boolean bitmask

Cablu blocat

Ascultător
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x02
Conectat la vehicul Contact reed Doar citire

Indică dacă cablul de încărcare este conectat la vehiculul electric (bitul Plug 2)

boolean bitmask

Conectat la vehicul

Ascultător
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x04
Conectat la stația de încărcare Contact reed Doar citire

Indică dacă un cablu este conectat în priza stației de încărcare (bitul Plug 0)

boolean bitmask

Conectat la stația de încărcare

Ascultător
Rc := PARSEJSON(report2, "$.Plug", 1) & 0x01
Starea încărcării Comutator cu mai multe valori Doar citire

Starea de funcționare a stației de încărcare — Pornire, Nepregătită, Pregătită, Încărcare, Eroare sau Neautorizată

numeric json_path
Valori / Stări: ${starting} · ${notReady} · ${ready} · ${charging} · ${error} · ${notAuthorized}

Starea încărcării

Ascultător
VAR state := PARSEJSON(report2, "$.State");
Mu := SWITCH(State, 0, 1, 1, 2, 2, 3, 3, 5, 4, 8, 5, 9, 1)
Curent de încărcare setat de utilizator Variabilă

Curentul maxim de încărcare în amperi, care poate fi setat (6–63 A) — se trimite stației de încărcare prin comanda UDP `curr`, în miliamperi

numeric Unitate: A json_path

Curent de încărcare setat de utilizator

Scriere
SENDDATA("curr " + Va*1000);
SENDDATA("report 2");
Ascultător
Va := PARSEJSON(report2, "$.['Curr user']", 1) / 1000.0
Conexiune: Packet Parser → UDP
Îmbunătățiri posibile (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.

Surse

  • 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

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal