Show all projects!

Transparenter OCPP Proxy für HomeAssistant

Ich habe einen transparenten OCPP-Proxy zwischen meine Wallbox und den Abrechnungsdienstleister geschaltet. Damit landen alle Ladedaten in Home Assistant, während die Abrechnung wie gewohnt extern läuft.

Warum überhaupt?

Wer seine Wallbox an einen Abrechnungsdienstleister angebunden hat, steht vor einem Dilemma: Die Wallbox kennt nur ein einziges Backend. Will man die Daten zusätzlich in Home Assistant haben, muss man sich entscheiden – entweder Anbindung an den Abrechnungsanbieter oder Integration ins Smart Home. Beides geht nicht.

Die saubere Lösung ist ein Proxy. Er sitzt unsichtbar zwischen Wallbox und Abrechnungs-Backend, leitet alle Nachrichten in beide Richtungen weiter und liest dabei mit. Das Backend merkt nichts davon, die Abrechnung läuft unverändert weiter. Home Assistant bekommt parallel alle relevanten Daten und kann sogar in Gegenrichtung Ladevorgänge auslösen.

Wie ich das gemacht habe

Mein erster Versuch war ein existierendes Add-on aus der Community. Auf dem Papier passte es perfekt, in der Praxis kam ich schnell an Grenzen: Architektur-Probleme im Build, Caching-Fallen im Home Assistant Supervisor, und letztlich war der Code für meinen Anwendungsfall schlicht nicht ausgelegt. Statt eines transparenten Durchreichens versuchte er, selbst die Rolle des Backends zu übernehmen.

Statt von vorne anzufangen habe ich die Verpackung behalten – Dockerfile, Add-on-Manifest, Start-Skript – und die Kernlogik mit Claude neu geschrieben. Etwa 200 Zeilen Python, die genau das tun was sie sollen: WebSocket-Verbindung von der Wallbox annehmen, parallele Verbindung zum Backend aufbauen, jede Nachricht in beide Richtungen kopieren und nebenbei die interessanten Daten an Home Assistant weitergeben.

Was das Setup jetzt kann: Im Energie-Dashboard taucht die Wallbox als eigenes Gerät auf, sauber vom restlichen Hausverbrauch getrennt. Zählerstand, Ladestatus, Sitzungsdaten und Gerätedetails sind in Echtzeit verfügbar. Per Knopfdruck aus Home Assistant lässt sich ein Ladevorgang starten und stoppen, sogar mit einer hinterlegten RFID-ID – ohne dass man tatsächlich eine Karte an die Wallbox halten muss. Der Abrechnungsanbieter sieht weiterhin alles wie zuvor und stellt seine Rechnungen normal aus.

Insgesamt ein Nachmittag Arbeit. Der Code war der einfachste Teil – mit Claude als Sparringspartner ging das überraschend schnell. Die meiste Zeit habe ich mit den Eigenheiten des Home Assistant Supervisors verbracht. Aber das Ergebnis ist genau das was ich wollte: vollständige Sichtbarkeit ohne den bestehenden Abrechnungsprozess anzufassen.

 

Article relase date: / Last update: