104 lines
3.5 KiB
Markdown
104 lines
3.5 KiB
Markdown
# evcc-Brücke zum Energie-Cockpit
|
|
|
|
Meldet die Ladevorgänge einer mit [evcc](https://evcc.io) 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
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
docker compose up -d --build
|
|
```
|
|
|
|
Nachsehen, ob es läuft:
|
|
|
|
```bash
|
|
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](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](LICENSE).
|
|
|
|
Martin Schneeweiss, <https://schnee.co.at>
|