evcc-Brücke zum Energie-Cockpit
Meldet die Ladevorgänge einer mit evcc gesteuerten Wallbox an das Energie-Cockpit. Dort erscheinen sie danach mit ihrem Sonnenanteil, genauso wie die Ladungen einer Fronius-Wallbox über deren Cloud-Freigabe.
Gedacht für alle Wallboxen, die evcc steuern kann, also auch für die Webasto Unite. Die Brücke selbst spricht nie mit der Wallbox, sondern nur mit evcc.
Wie es funktioniert
Die Brücke läuft als kleiner Container neben evcc. In festem Takt liest sie die abgeschlossenen Ladungen aus der Schnittstelle von evcc und schickt sie an das Cockpit.
Die Verbindung wird immer von innen nach außen aufgebaut. Am Router muss nichts geöffnet werden, und die evcc-Oberfläche bleibt im Heimnetz.
Voraussetzungen
- eine laufende evcc-Installation, erreichbar im eigenen Netz
- Docker mit dem Compose-Zusatz
- ein Konto im Energie-Cockpit mit Zugriff auf das Modul "Schnittstelle"
Den Zugangsschlüssel legt man sich dort selbst an, unter https://energie.schnee.co.at/module/api. Er wird nur einmal im Klartext angezeigt und lässt sich jederzeit widerrufen.
Einrichten
git clone https://git.schnee.co.at/SchneeMart/evcc-bruecke.git
cd evcc-bruecke
cp .env.example .env
Danach die Datei .env öffnen und ausfüllen. Pflicht ist der TOKEN, also der
eben angelegte Schlüssel. Bei EVCC_URL steht, wo evcc erreichbar ist. Die
ZIEL_URL ist bereits eingetragen.
Starten:
docker compose up -d --build
Nachsehen, ob es läuft:
docker compose logs -f
Die erste Meldung nennt die verwendeten Adressen, danach folgt nach jedem Durchlauf die Zahl der gesendeten Ladungen.
Einstellungen
| Name | Bedeutung | Vorgabe |
|---|---|---|
EVCC_URL |
Adresse der evcc-Installation | http://evcc:7070 |
ZIEL_URL |
Empfangsadresse im Cockpit | Pflichtfeld |
TOKEN |
persönlicher Zugangsschlüssel | Pflichtfeld |
TAKT_MINUTEN |
Abstand zwischen zwei Läufen | 60 |
RUECKBLICK_TAGE |
wie weit zurück jedes Mal gemeldet wird | 30 |
LADEPUNKT |
nur dieser Ladepunkt, leer heißt alle | leer |
Der Rückblick wird bei jedem Lauf vollständig gesendet. Das Cockpit erkennt bekannte Ladungen an ihrer Kennung und legt sie nicht doppelt an. Dadurch braucht die Brücke keinen eigenen Speicher, und ein Ausfall von ein paar Tagen holt sich von selbst wieder ein.
Wenn die Brücke nicht passt
Wer den Weg lieber selbst baut, weil die Ladedaten aus einer anderen Quelle als evcc kommen oder das Senden in eine vorhandene Anwendung gehört, findet in SCHNITTSTELLE.md die vollständige Beschreibung des Endpunkts: Adresse, Kopfzeilen, jedes Feld mit seiner Bedeutung, alle Fehlercodes, die Regeln der Zuordnung und ein lauffähiges Beispiel.
Wenn evcc nicht gefunden wird
Läuft evcc in einem eigenen Compose-Verbund, gehören beide ins selbe Netz.
Dazu in der docker-compose.yml den Abschnitt networks einkommentieren und
den Netznamen eintragen (docker network ls zeigt ihn an).
Läuft evcc ohne Docker direkt auf dem Rechner, ist die feste IP dieses Rechners
in EVCC_URL der einfachste Weg.
Was übertragen wird
Ausschließlich die Ladevorgänge, so wie evcc sie führt: Beginn, Ende, Ladepunkt, Fahrzeugname, geladene Energie, Zählerstände und der Sonnenanteil. Keine Zugangsdaten, keine Standortdaten, keine Daten anderer Geräte im Haus.
Gesendet wird an die Adresse, die in der eigenen .env steht, und an keine
andere.
Lizenz und Urheber
MIT, siehe LICENSE.
Martin Schneeweiss, https://schnee.co.at