Docker
evcc kann auch als Docker Image installiert werden. Das funktioniert auch mit verbreiteten NAS-Systemen wie etwa Synology.
Die Verwendung von Docker erfordert fortgeschrittene System-Kenntnisse (Linux, macOS UND Docker)! Für Einsteiger ist es wirklich nicht empfehlenswert mit einer Installation in einer Docker-Umgebung zu starten!
Manche Geräte und Kommunikationswege werden ohne spezielle Docker-Konfigurationsoptionen nicht fehlerfrei funktionieren.
Es ist sinnvoll die gesamte Konfiguration zunächst ohne Docker-Umgebung nativ auf dem Zielsystem zu testen um grundlegende Fehler in der evcc-Konfiguration und Probleme mit der angebundenen Infrastruktur auszuschließen.
Momentan werden nur die CPU Architekturen AMD64, armv6 und arm64 in Docker Images unterstützt!
Diese Dokumentation ist für Docker und Synology. Bei Verwendung anderer Systeme können sich Details unterscheiden.
Konfiguration
Es wird eine funktionierende evcc Konfiguration benötigt. Führe dazu die Schritte auf einem der folgende Systeme durch:
noteWir empfehlen dies wenn möglich auf dem gleichen System durchzuführen auf welchem evcc später auch im Docker Container laufen soll
Kopiere die damit erzeugte Datei
evcc.yaml
in das Verzeichnis/etc
auf dem System auf welchem Docker läuft.Erstelle ein lokales Verzeichnis (bspw.
~/.evcc
) in dem evcc's interne SQLite Datenbank/root/.evcc
abgelegt werden kann.
Docker Installation
Der Docker Container kann entweder manuell über einen Befehl in der Kommandozeile erstellt werden, oder über eine docker-compose
Datei. Wem letzteres nichts sagt, führt die Schritte unter Manuell aus.
Manuell
Installiere den Docker Container der zu deiner Komponenten-Konstellation passt mit einem der folgenden Befehle:
- Standard
- SMA Geräte und EEBus
sudo docker run \
-d \
--name evcc \
-v $(pwd)/evcc.yaml:/etc/evcc.yaml \
-v $(pwd)/.evcc:/root/.evcc \
-p 7070:7070 \
-p 8887:8887 \
-p 7090:7090/udp \
-p 9522:9522/udp \
evcc/evcc:latest
--network host
-v /etc/machine-id:/etc/machine-id \
Alternativ kann in der evcc.yaml
auch eine eindeutige Geräte-ID unter plant
konfiguriert werden.
Mit evcc/evcc:latest
bekommt man die jeweils aktuelle Version. (Empfohlen)
Mit evcc/evcc:nightly
bekommt man einen täglich aktualisierten Build, der nicht so gut getestet sein kann.
Unter Linux ist es evtl. notwendig den Befehl mit sudo
zu beginnen!
Durch die -d
-Option wird der evcc Container beim Stoppen automatisch gelöscht und muss danach durch einen der docker run ...
Befehle oben wieder angelegt/gestartet werden.
Mounte nicht das lokale Verzeichnis /etc
als Volume in Docker!
Mit docker-compose
docker-compose hat einige Vorteile gegenüber der direkten Ausführung in der Kommandozeile, z.B. falls man weitere Programme wie Traefik in Verbindung mit evcc nutzen möchte.
Im aktiven Verzeichnis legt man dazu einfach eine Konfigurationsdatei mit dem Namen docker-compose.yml
an.
Entsprechend der passenden Komponenten-Konstellation kopiert man eine der folgenden Konfigurationen in die docker-compose.yml
und speichert diese ab:
- Standard
- SMA Geräte und EEBus
version: "3"
services:
evcc:
command:
- evcc
container_name: evcc
image: evcc/evcc:latest
ports:
- 7070:7070/tcp
- 8887:8887/tcp
- 7090:7090/udp
- 9522:9522/udp
volumes:
- /etc/evcc.yaml:/etc/evcc.yaml
- /home/[user]/.evcc:/root/.evcc
restart: unless-stopped
network_mode: host
volumes:
- /etc/machine-id:/etc/machine-id
- /var/lib/dbus/machine-id:/var/lib/dbus/machine-id
Starte den Container mit:
sudo docker-compose up -d
Testen
Prüfe die Docker Installation
Zeige die laufenden docker Container an:
sudo docker ps -a
Prüfe die log Ausgaben des evcc Containers:
sudo docker logs evcc
Prüfe die evcc Meter-Konfiguration des evcc Containers:
sudo docker exec evcc evcc -l debug meter
Prüfe die evcc Charger-Konfiguration des evcc Containers:
sudo docker exec evcc evcc -l debug charger
Prüfe die evcc Vehicle-Konfiguration des evcc Containers:
sudo docker exec evcc evcc -l debug vehicle
Öffne einen Browser und gibt die folgende URL ein: http://127.0.0.1:7070
Ersetze 127.0.0.1
mit der IP Adresse oder dem Hostnamen des Computers, falls der Browser nicht auf dem gleichen Computer geöffnet wurde.
Aktualisierung
Um auf eine neue Version von evcc zu aktualisieren, führe folgende Schritte durch:
Öffne ein Terminal/Eingabeaufforderung
Aktualisiere auf das neuste evcc Image:
sudo docker pull evcc/evcc:latest
Stoppe den evcc Container:
sudo docker stop evcc
Lösche den evcc Container:
sudo docker rm evcc
Starte den evcc Container mit dem aktualiserten Image:
sudo docker-compose up -d
Synology NAS
Die Einrichtung von evcc über Docker auf einem Synology NAS-System ist über dessen grafische Benutzeroberfläche ohne Verwendung der Kommandozeile möglich. Hierbei sind zwei Netzwerkmodi wählbar: Host oder Bridge. Ob der Bridge-Modus anwendbar ist hängt von den verwendeten Komponenten ab. Im Zweifelsfall ist immer der Host-Mode zu wählen. Hier die Anleitung dazu: Anleitung.EVCC.Synology.Docker.Elli.Charger.Connect-Pro.pdf
Für den Bridge-Mode ist nach dieser Anleitung zu verfahren: EVCC_Synology_Docker-2.pdf (erstellt von at4hawo1)