Wallbox Episode II - Attack of the forks

03.09.2025 13:37 (Updated: 03.09.2025 21:52)
by bitstacker

Screenshot von evcc

In einem anderen Blogpost habe ich ja schon die Installation meiner Wallbox beschrieben. Jetzt geht es darum diese Wallbox mit evcc als OCPP-Server anzusteuern.

evcc ein tolles Projekt. Es ist eine in Go geschriebene Software die alle Facetten der E‑Mobilität unter einen Hut bekommt (PV‑Überschussladen, Anbindung von Wallboxen/PV/Batterien, Zugriff auf Fahrzeug-APIs). Leider haben die eine Policy die gewisse Features (alle wichtigen...) nur verfügbar macht, wenn man auf Github ein Sponsoring klickt (oder man wird zum Contributer). Ich habe zwar per se nichts gegen die Förderung von Open-Source Projekten. Aber ich finde monatlich 2$ dann doch ein bisschen viel (zumindest auf Dauer). Und in die Entwicklung mit einzusteigen ist auch nichts für mich (Ich habe echt schon genug Projekte. Und ich verabscheue Softwareentwicklung). Zum Glück ist das ganze ja Open-Source und ich kann mir selber eine Version bauen die ohne ein Token auskommt.

Damit jetzt aber nicht jede/r gleich das Sponsoring kaputt macht will ich hier auch keine Anleitung veröffentlichen wie ich das ganze umgangen habe (sorry!). Ich kann aber folgendes schreiben falls du den selben Weg gehen willst: Man muss nur dafür sorgen das ein paar der Funktionen in der auth.go "True" zurück geben.

Also habe ich das evcc-Repo geforkt. Um das ganze zu bauen habe ich einen Docker-Container verwendet (ja, sorry. Docker ist doof. Demnächst nehme ich dann podman :) ). Dabei habe ich die Original-Dockerfile so angepasst das die auth.go mit meiner eigenen überschrieben wird (Also ganz stumpf mit nem COPY in der Dockerfile). Und ich habe alles rausgeschmissen was ich nicht brauche (mDNS, Modbus). Dann noch eine docker-compose.yml geschrieben zum einfacheren bauen. Das dabei entstandene evcc binary kann man dann wie gewohnt nutzen. Kann man dann direkt im Container nutzen oder halt raus kopieren und irgendwo hinlegen. Go ist manchmal schon echt praktisch.

Nach dem Start wartet evcc auf die Wallbox (den Timeout sollte man schon etwas großzügiger wählen). Nicht wundern wenn bis dahin auch die GUI nicht läd (da bin ich schon ein paar mal drauf reingefallen).

Zurück zur Wallbox: Mit der ABB-TerraConfig-App habe ich dann in der Wallbox den evcc als OCPP-Server eingetragen. Schön mit eigenem DNS-Eintrag :) Danach in der App die Einstellungen speichern (die Wallbox bootet dann). Nach dem Reboot schickt die Wallbox dann alle paar Sekunden ihre Daten an evcc (kann man gut mit tcpdump sehen). Leider kann man ab diesem Zeitpunkt die "Original" ABB Charger-Sync-App nicht mehr verwenden. Es geht immer nur eins von beiden.

Da evcc keine Authentifizierung mitbringt habe ich dann noch in meinem Webserver ein Basic-Auth davor geschaltet. Der Webserver ist dabei einfach reverse Proxy. Das evcc läuft also nur auf localhost. Es gibt eine evcc-App im Playstore bzw. FDroid. Die App kann auch mit dem Basic-Auth umgehen (und man kann das Passwort speichern). Damit sollte auch ein einigermaßen sicherer Fernzugriff möglich sein. Wer sich ganz sicher sein will tunnelt das noch durch ein VPN (Mache ich auch so).

Für die Einbindung in Home-Assistant schreibe ich noch einen weiteren Blogpost.