Einbindung der KEBA P40 Wallbox

Es gibt eine Integration von KEBA Wallboxen, allerdings basiert die auf UDP. Die neuere P40 unterstützt zumindest zur Zeit kein UDP.

Die P40 unterstützt aber eine Einbindung per Modbus. Ich habe das bei mir zuhause mit Hilfe von Infos aus der EVCC Community implementiert. Unter folgendem Link (pdf kann leider nicht angehängt werden) findet Ihr den Versuch, die Vorgehensweise zu beschreiben.

Anschluss der KEBA P40 an den Home Assistant (HA)

Vielen Dank! :folded_hands:

Ich habe den Yaml Code aus dem PDF via ChatGPT formatieren lassen - dann meine IP eingetragen und das ganze hat innerhalb 5 min auf anhieb geklappt.

Hier ist das Ganze noch einmal ordentlich formatiert und korrigiert. Es stimmten bei einigen Sensoren die Skalen nicht.

https://github.com/psott/HomeAssistant-Keba-P40-Modbus/tree/main

Danke nochmal an @HLueken

@HLueken Vielen Dank für deine Anleitung. Für mich als Neuling hat das sehr geholfen. Wäre es möglich, das du noch zeigst, wie du die Übersicht der Ladedaten der Wallbox und die Ladehistorie in HomeAssistant implementiert hast?

das ist bei mir recht speziell, da ich da Auto, Wallbox, Solaranlage verbunden habe.

Probiere mal:

  • geladene Energie von sensor.wallbox_total_energy
  • Graphische Darstellung mit ApexCharts Card by @RomRider
  • Mit der statistics-/group_by-Funktion kannst du verschiedene Darstellungen über längere Zeiträume bekommen (täglich, monatlich, …)
  • Das Anlegen von Verbrauchszählern stellt Werte wie täglicher, monatlicher Verbrauch einfach zur Verfügung

Gerne helfe ich bei Fragen weiter…

KEBAP 40 :smiley: Eine Döner Wallbox? 40 Döner Pro Stunde. Sorry fürs Offtopic :slight_smile:

@HLueken Vielen Dank für deine Anleitung. Super.

  1. Wurde die Phasenumschaltung für die P40 mittlerweile aktiviert?
  2. Muss die Phasenumschaltung separat gesetzt werden oder macht das die Wallbox einfach selbst, wenn man einen niedrigen Ladestrom setzt?
  3. Wird zum Setzten des Ladestroms fürs Überschuss-Laden eine Regelung genutzt oder einfach eine Automation die alle 30 Sekunden (Beispiel) läuft?
  4. Hast du eine eichrechtskonforme P40 und nutzt Du eine DKV Tankkarte?
  1. Phasenumschaltung geht jetzt, ich nutze es aber noch nicht
  2. muss wohl explizit gesetzt werden, ich glaube, dass die Wallbox selber nix macht
  3. Ich nutze eine Automatisierung, lade aber im Moment immer mit 4kw (bis die PV-Batterie auf 40% abgesackt ist, dann stoppe ich das Laden, bis die Batterie wieder 70% hat, die letzten Stunden des Tages nutze ich dann, um die PV-Batterie möglichst voll zu machen)
  4. Nein

Hi @HLueken wie ist deine Erfahrung mit der P40 nach den ersten Monaten?

Ich habe sie jetzt ein Jahr

Nervig war, dass versprochene Features erst später per Update geliefert wurden

Gut ist, dass das Ding funktioniert, die wichtigsten Schnittstellen sind jetzt da und tun was sie sollen. Mein Setup funktioniert tadellos, bin also zufrieden

Daher: kann ich empfehlen, hängt aber sicherlich auch davon ab, was Du suchst

1 „Gefällt mir“

Hallo,

ich habe hier ganz interessiert mitgelesen, da ich ebenfalls eine Keba P40 samit Kostal Plenticore und KSEM installiert habe. Das PV-Überschussladen samt Phasenumschaltung klkappt auch, allerdings saugt mir die Keba den ebenfalls angeschlossenen Akku immer leer. Bisher konnte mir hierbei keiner helfen.

Umso spannender klingt nun die Integration in den HA - der läuft bei mir mit anderen Integrationen und dem Kostal bisher problemlos. Leider war es mir jedoch bisher nicht möglich, die in der PDF verlinkten Konfiguration in den HA zu bekommen. Ich erhalte beim Prüfen der yaml immer folgende Fehlermeldung:

Invalid config for 'modbus' at configuration.yaml, line 12: required key 'baudrate' not provided
Invalid config for 'modbus' at configuration.yaml, line 12: required key 'bytesize' not provided
Invalid config for 'modbus' at configuration.yaml, line 12: required key 'method' not provided
Invalid config for 'modbus' at configuration.yaml, line 12: required key 'parity' not provided 
nvalid config for 'modbus' at configuration.yaml, line 12: required key 'port' not provided
Invalid config for 'modbus' at configuration.yaml, line 12: required key 'stopbits' not provided
Invalid config for 'modbus' at configuration.yaml, line 12: required key 'type' not provided

Hat jemand hier eine Idee, was ich tun könnte bzw. einen anderen / richtigen code für mich? Ich hatte mittels Chatgpt den folgenden hinzugefügt (siehe unten).

Über Ideen / Hife wäre ich sehr, sehr dankbar.

modbus:
name: P40_IDAtype: tcphost: xxx.xxx.xxx.xxxport: 502
sensors:
name: “Wallbox Charging State”unique_id: wallbox_charging_stateslave: 255address: 1000data_type: uint32scan_interval: 10
name: “Wallbox Cable State”unique_id: wallbox_cable_stateslave: 255address: 1004data_type: uint32scan_interval: 10
name: “Wallbox Error Code”unique_id: wallbox_error_codeslave: 255address: 1006data_type: uint32scan_interval: 30
name: “Wallbox Current L1”unique_id: wallbox_current_l1slave: 255address: 1008data_type: uint32scale: 0.001precision: 3scan_interval: 10unit_of_measurement: “A”device_class: currentstate_class: measurement
name: “Wallbox Current L2”unique_id: wallbox_current_l2slave: 255address: 1010data_type: uint32scale: 0.001precision: 3scan_interval: 10unit_of_measurement: “A”device_class: currentstate_class: measurement
name: “Wallbox Current L3”unique_id: wallbox_current_l3slave: 255address: 1012data_type: uint32scale: 0.001precision: 3scan_interval: 10unit_of_measurement: “A”device_class: currentstate_class: measurement
name: “Wallbox Voltage L1”unique_id: wallbox_voltage_l1slave: 255address: 1040data_type: uint32scan_interval: 30unit_of_measurement: “V”device_class: voltagestate_class: measurement
name: “Wallbox Voltage L2”unique_id: wallbox_voltage_l2slave: 255address: 1042data_type: uint32scan_interval: 30unit_of_measurement: “V”device_class: voltagestate_class: measurement
name: “Wallbox Voltage L3”unique_id: wallbox_voltage_l3slave: 255address: 1044data_type: uint32scan_interval: 30unit_of_measurement: “V”device_class: voltagestate_class: measurement
name: “Wallbox Active Power”unique_id: wallbox_active_powerslave: 255address: 1020data_type: uint32scale: 0.001scan_interval: 10unit_of_measurement: “W”device_class: powerstate_class: measurement
name: “Wallbox Total Energy”unique_id: wallbox_total_energyslave: 255address: 1036data_type: uint32scale: 0.0001scan_interval: 60unit_of_measurement: “kWh”device_class: energystate_class: total_increasing
name: “Wallbox Session Energy”unique_id: wallbox_session_energyslave: 255address: 1502data_type: uint32scale: 0.0001scan_interval: 30unit_of_measurement: “kWh”device_class: energystate_class: total
name: “Wallbox Max Charging Current”unique_id: wallbox_max_currentslave: 255address: 1100data_type: uint32scale: 0.001scan_interval: 60unit_of_measurement: “A”device_class: currentstate_class: measurement
name: “Wallbox Max Supported Current”unique_id: wallbox_supported_currentslave: 255address: 1110data_type: uint32scale: 0.001scan_interval: 60unit_of_measurement: “A”device_class: currentstate_class: measurement

numbers:

name: “Wallbox Charging Current Limit”unique_id: wallbox_set_currentslave: 255address: 5004data_type: uint16min_value: 6000max_value: 32000step: 1000unit_of_measurement: “mA”

:crayon:by HarryP: Code-/Logzeilen formatiert (bitte immer in </> einbinden)
s.a.: (Neues Update & Features - Hier in der Community 🫶)

Hast du die Einträge in der configuration.yaml richtig formatiert (z.B. Einrückung, …)?

Falls ja, hast du die Modbus Integration installiert?

Hallo,

ich habe es jetzt hinbekommen. Keine Ahnugn richtig, woran es lag. Immerhin werden mir jetzt die Entitäten angezeigt. Jetzt muss ich nur noch herausfinden, wie ich sie auf dem Dashboard etc. angezeigt bekomme und im Energiedashboard.

Funktioniert bei dir das Überschussladen den Akku leer zu saugen?

Danke für die Hilfe!

Meine Programmierung ist so, dass ich immer mit 4,2 kW lade (letztes Jahr ging ein-phasing noch nicht).

Vereinfacht: gestartet wird, wenn 2kW eingespeist werden und die Solarbatterie mindestens 50% hat, gestoppt wird wenn es zuwenig Überschuss gibt oder die Batterie zu niedrig ist. So ist die Batterie bewusst mit im Prozess, funktioniert eigentlich ganz gut.

Demnächst werde ich einphasig in die Programmierung übernehmen, damit ich weniger aus der Batterie nehmen kann.

Evtl. erkenn man an den Parametern, wie das gedacht ist…

Ich habe vor wenigen Minuten unter GitHub - thokaro/keba-wallbox-modbus-homeassistant: ⚡ Home Assistant integration for KEBA P30/P40 wallboxes via Modbus TCP 🔌🏠 Beta: P40 feedback welcome. · GitHub ein Integration für KEBA P30 und P40 Wallboxen veröffentlicht und würde mich vor allem über Feedback von P40 Usern freuen. :victory_hand:

2 „Gefällt mir“

Da ich seit heute ein KEBA P40 von der Firma habe, werde ich das doch gleich mal ausprobieren.

Hallo @thokaro , nachdem ich verstanden haben das ich die KEBA Box nicht mit zwei unterschiedlichen Integrationen via MODUS abfragen kann. Nutze ich den eingebauten Modbus Proxy von EVCC und ich kann sowohl EVCC und auch deine KEBA Integration nutzen. Mehr kann ich noch nicht sagen, werde heute bei Sonnenschein mein Auto via EVCC laden und schauen ob die Werte die ich dann in der Integration sehe soweit passen.

Wenn du evcc als Modbus Proxy, musst du lediglich bedenken, dass bei schreibenden Registern bei Änderungen in HA evcc vermutlich gegenregeln wird.

Mir geht es nur um das auslesen des aktuellen Strombezugs der Wallbox für mein Energiedashboard. In Prinzip geht deine Integration, ich werde aber wohl auf die evcc​:sun::oncoming_automobile:- Solar Charging Integration wechseln die EVCC auslesen kann. Dann habe ich das Problem mit den Modbus nicht. Vielen Dank für deine tolle Arbeit, viel Erfolg weiterhin damit.

1 „Gefällt mir“

Hey zusammen,

habe gerade HACS Integration für die Keba P40 erstellt. Da es mit Modbus mit der neuen Version der Keba Probleme gibt, habe ich auf die RestApi der keba gesetzt. Funktioniert bei mir einwandfrei. Die wichtigsten Werte werden ausgelesen und ganz wichtig!

Phasenumschaltung und Einstellen des Stromes der Wallbox möglich.

Viel spaß beim testen.

Für schäden oder der gleichen werden natürlich keine Haftungen übernommen :joy::wink:

1 „Gefällt mir“