Ga naar inhoud
slim laden

Docker

evcc kan als Docker-image worden geïnstalleerd. Er zijn images beschikbaar voor AMD64, armv6 en arm64. Veelvoorkomende toepassingen zijn onder meer NAS-systemen zoals Synology, QNAP, Unraid en TrueNAS.

Voordat u de container aanmaakt, moet u beslissen hoe deze met uw netwerk wordt verbonden. We raden het hostnetwerk aan. De container deelt dan het netwerk van de host en gedraagt zich als een direct geïnstalleerd programma. Dit heeft verschillende voordelen:

  • Wanneer u een apparaat toevoegt, stelt het veld IP-adres of hostnaam de apparaten voor die in uw netwerk zijn gevonden.
  • Functies op basis van mDNS werken, bijv. EEBUS, de SMA Sunny Home Manager en de automatische detectie door de evcc-app.
  • Apparaten die via UDP communiceren, bijv. KEBA-laders en SMA-apparaten, zijn zonder verdere instellingen bereikbaar.
  • U hoeft geen poortlijst bij te houden. Inkomende verbindingen, zoals van OCPP-laders, werken meteen.

Met een bridgenetwerk draait de container in een apart Docker-netwerk. Dat is prima als u de bovenstaande functies niet nodig hebt of de container liever isoleert. U moet dan elke benodigde poort zelf publiceren. Apparaten in uw netwerk worden niet voorgesteld, dus u voert hun adressen handmatig in.

Hostnetwerk vereist een Linux-host, en daar horen de gangbare NAS-systemen ook bij. Met Docker Desktop op macOS en Windows draait de container in een virtuele machine zonder directe toegang tot uw netwerk. Gebruik daar liever de installatie voor macOS of Windows.

De container kan worden ingericht via Docker Compose, de Docker-CLI of de Docker-interface van uw systeem. Alle drie gebruiken hetzelfde image en dezelfde volumes.

Er zijn twee image-tags beschikbaar: evcc/evcc:latest (aanbevolen) en evcc/evcc:nightly (ontwikkelversie).

Pad op de hostPad in de containerBeschrijvingVerplicht
/home/user/.evcc/root/.evccMap voor de databaseja
/home/user/evcc.yaml/etc/evcc.yamlConfiguratiebestand (alleen als u er een gebruikt)nee

De database bevat uw laadsessies en alles wat u in de webinterface hebt ingesteld. Maak de map vóór de eerste start aan op uw hostsysteem. Deze handleiding gebruikt /home/user/.evcc als voorbeeld.

Het volume voor evcc.yaml is alleen nodig als u uw evcc-installatie via een configuratiebestand configureert in plaats van via de webinterface. Verwijder de regel uit de onderstaande voorbeelden als u er geen gebruikt.

Docker Compose is de aanbevolen manier, omdat alle parameters in één bestand staan. Maak een bestand compose.yml aan met een van de volgende configuraties:

services:
evcc:
container_name: evcc
image: evcc/evcc:latest
network_mode: host
volumes:
- /home/user/.evcc:/root/.evcc
- /home/user/evcc.yaml:/etc/evcc.yaml # optional
restart: unless-stopped

Start de container met:

Terminal window
sudo docker compose up -d

Of u sudo nodig hebt, hangt af van uw systeem.

U kunt de container ook met één enkel commando aanmaken en starten:

Terminal window
sudo docker run -d --name evcc \
--network host \
-v /home/user/.evcc:/root/.evcc \
-v /home/user/evcc.yaml:/etc/evcc.yaml \
--restart unless-stopped \
evcc/evcc:latest

Als uw systeem een Docker-interface heeft (bijv. Synology, QNAP, Portainer, Unraid), kunt u de container daar aanmaken. Vul het image en de bovenstaande volumes in en zet de netwerkmodus op host. Als u in plaats daarvan voor bridgenetwerk kiest, voeg dan de poorten toe die u nodig hebt.

De exacte veldnamen verschillen per systeem. De begrippen netwerkmodus, poorten en volumes vindt u echter in alle systemen terug.

Poorten publiceren is alleen nodig bij bridgenetwerk. Bij hostnetwerk zijn deze poorten direct op de host beschikbaar.

HostpoortContainerpoortBeschrijvingVerplicht
70707070/tcpWebinterface, APIja
88878887/tcpOCPP-servernee
95229522/udpSMA Sunny Home Managernee
70907090/udpKEBA-ladersnee
2837628376/udpEVSE Master-ladersnee
53535353/udpmDNSnee
47124712/tcpEEBUSnee
88998899/udpModbus UDPnee

Na het starten van de container bereikt u de webinterface via http://<host>:7070. <host> is het IP-adres of de hostnaam van de computer waarop de container draait.

Bij het eerste gebruik wordt u gevraagd een beheerderswachtwoord in te stellen. Daarna kunt u uw apparaten instellen zoals beschreven onder Configuratie.

Als u geen verbinding kunt maken, controleer dan uw containerlogs. Meer hulp vindt u in de GitHub Discussions.

Ga naar de map met het bestand compose.yml en haal het nieuwste image op:

Terminal window
sudo docker compose pull

Als er een nieuw image beschikbaar is, maakt het volgende commando de container opnieuw aan. Anders blijft de bestaande container draaien.

Terminal window
sudo docker compose up -d

Hier vindt u handleidingen van gebruikers voor specifieke systemen. We kunnen niet garanderen dat ze juist of actueel zijn.

U kunt evcc via Docker op NAS-systemen van Synology installeren met de grafische interface, zonder de opdrachtregel te gebruiken. Deze handleiding gebruikt het aanbevolen hostnetwerk: Handleiding: Synology Docker (PDF, Duitstalig)

Een handleiding voor een bridgenetwerk vindt u hier: Handleiding: Synology Docker 2 (PDF, Duitstalig) door at4hawo1

De installatie van evcc op QNAP-systemen via Container Station lijkt sterk op de bovenstaande instructies voor Synology. Specifieke instructies voor QNAP vindt u hier: Handleiding: QNAP (PDF, Duitstalig)

Dit is een geavanceerde optie voor beheerde Docker-omgevingen waarin bewust een bridgenetwerk wordt gebruikt en de apparaten vastliggen. De omgevingsvariabele EVCC_DISCOVERY_HOSTS levert een vaste lijst met apparaten. evcc gebruikt deze lijst dan voor de suggesties in het veld IP-adres of hostnaam en doorzoekt het netwerk niet.

De waarde is een JSON-lijst. Elk item heeft een ip nodig. hostname en mac zijn optioneel. Ze worden gebruikt om de fabrikant te tonen en om apparaten die bij het gekozen apparaattype passen onder Overeenkomstig te vermelden.

services:
evcc:
environment:
EVCC_DISCOVERY_HOSTS: >-
[
{"ip": "192.168.1.10", "hostname": "sma3009876543", "mac": "00:15:BB:12:34:56"},
{"ip": "192.168.1.20", "hostname": "go-echarger_123456"}
]

Een lege lijst [] schakelt de suggesties uit.