Zum Hauptinhalt springen

Häufige Fragen

Einrichtung

Kann ich evcc ohne Netzzähler betreiben?

Der Netzzähler ist das Kernstück für evcc und sollte, wenn möglich, eingebunden werden. Es ist jedoch ebenso möglich, sonnengeführtes Laden ausschließlich auf der Grundlage der PV-Leistung zu betreiben. In dieser Konstellation kann nicht mit PV-Überschuss geladen werden, da der dazu notwendige Messpunkt (Zähler) fehlt. Stattdessen wird in den Lademodi PV und Min+PV mit der PV-Erzeugungsleistung gearbeitet. Als Optimierung kann über die Einstellung residualPower ein typischer mittlerer Hausverbrauch angegeben werden.

Beispiel:

site:
residualPower: 250 # 250W Hausverbrauch

Ich habe keine PV Anlage, kann ich evcc trotzdem sinnvoll einsetzen?

Hier gibt es verschiedene Nutzungsmöglichkeiten. Notwendig ist auf jeden Fall ein auslesbarer Netzzähler. Bei einem variablen Stromtarif (z.B. Nachtstrom, Tibber, Awattar) ist automatisches preisabhängiges Laden möglich. Ansonsten kann man evcc zur Fernsteuerung (start/stop) der Wallbox nutzen. Darüber hinaus kann man die Ladung einer Fahrzeugbatterie auf einen bestimmten Ladestand (SoC) begrenzen. In diesem Fall ist es aber zwingend notwendig, dass das Fahrzeug in die Konfiguration mit aufgenommen wird.

Kann ich evcc ausprobieren ohne alle Bestandteile (PV-Anlage, Wallbox, ...) zu haben?

Wenn einige Komponenten noch nicht vorhanden sind, lassen sich "Dummy" Komponenten einsetzen. Eine gute Quelle für diese ist die demo.yaml.

Beispiel für einen "Dummy" Zähler mit dem const plugin:

meters:
- name: dummymeter
type: custom
power:
source: const
value: 700 # 700 Watt

Beispiel für eine "Dummy" Wallbox mit dem script plugin:

chargers:
- name: my_charger
type: custom
status: # charger status A..F
source: script
cmd: /bin/sh -c 'echo b'
enabled: # charger enabled state (true/false or 0/1)
source: script
cmd: /bin/sh -c 'echo false'
enable: # set charger enabled state (true/false or 0/1)
source: script
cmd: /bin/sh -c 'echo false'
maxcurrent: # set charger max current (A)
source: script
cmd: /bin/sh -c 'echo 10'

Kann ich evcc ohne Einbindung des PV-Wechselrichters betreiben?

Ja, wenn ein Netzzähler und eine steuerbare Wallbox vorhanden sind, reicht dies für alle wesentlichen Funktionen von evcc inkl. Überschussladung aus. Es fehlt dann nur die Visualisierung der PV-Erzeugung sowie einige der daraus abgeleiteten Berechnungen und Statistiken. Darüber hinaus besteht aber die Möglichkeit, die PV-Erzeugungsleistung mit einem nachgerüsteten Erzeugungszähler direkt zu erfassen und somit alle Features wie bei einer direkten Anbindung des PV-Wechselrichters zu nutzen.

Kann ich mehrere Wallboxen nutzen?

Mehrere Wallboxen und damit Ladepunkte können in evcc verwendet werden. Es ist jedoch heute noch kein Lastmanagement möglich. Das ist auf unserer langen Liste für die weitere Entwicklung.

Meine Wallbox hat keine Phasenumschaltung. Kann ich trotzdem 1-phasig laden?

Bei kleinen PV-Anlagen und/oder im Winter macht es Sinn nur 1-phasig zu laden, um den vorhandenen Überschuss bestmöglich ohne Netzbezug zu nutzen.

Bei Wallboxen die keine automatische Phasenumschaltung beherrschen, kann man in der Zuleitung zur Wallbox mittels eines Lasttrennschalters (z.B. Hager HAB304) die Phasen 2 & 3 abschalten. Wenn die volle Leistung benötigt wird, schaltet man die Phasen wieder zu.

Achtung

Dieses manuelle Umschalten darf nur erfolgen, wenn das Fahrzeug NICHT mit der Wallbox verbunden ist.

Alternativ kann im Winter auch einfach ein einphasiges Ladekabel verwendet werden.

Damit evcc weiß, dass nicht mehr 3-phasig geladen werden kann muss die entsprechende Einstellung am Ladepunkt über die UI angepasst werden.

Fehlersuche

Syntax-Fehler in der evcc.yaml finden

yaml ist sehr syntax-empfindlich. Fehler fallen nicht immer sofort ins Auge.

Eine schnelle Hilfe bieten yaml-Tester wie z.B. (https://onlineyamltools.com/validate-yaml)

Etwas funktioniert nicht. Was nun?

Bei evcc gibt es einen Community Support. Hier helfen sowohl Entwickler als auch Anwender bei verschiedenen Problemen. Es wäre gut, dabei möglichst genaue Informationen zu folgenden Bereichen mitzuteilen:

  • Welche Geräte (Fahrzeug, Hausinstallation, Wallbox) verwendet werden.

  • Die Konfigurationsdatei evcc.yaml,

d.h. deren Inhalt (bitte Benutzernamen, Passwörter und ähnliches entfernen).

egrep -v '^#|^\s+#' evcc.yaml |grep . |sed -E 's/(password|user|token|url|host|broker|accessToken|refreshToken|vin).*/\1: *****/'

  • alternativ kann mit evcc dump --cfg >~/config.txt eine anonymisierte Konfigurationsdatei erstellt und unter dem angegebenen Namen im Home-Verzeichnis gespeichert werden.

  • Eine möglichst genaue Beschreibung was das Problem ist.

Erste Hilfe

Zur Erleichterung wurde eine Erste-Hilfe Funktionalität entwickelt. Durch Eingabe von evcc discuss auf der Kommandozeile wird ein neuer Diskussionsbeitrag in der Rubrik "Erste Hilfe" erstellt. Dieser Beitrag beinhaltet automatisch die Fehlermeldung(en) und die anonymisierte Konfigurationsdatei. Ergänzt werden muss nur noch ein aussagekräftiger Titel und eine Problembeschreibung. Diese Erste-Hilfe ist jeweils nur für die Erst-Erstellung eines Diskussionsbeitrages nutzbar. Sind im Zuge der Lösungsfindung weitere Informationen notwendig, müssen diese händisch erstellt werden.

Wir versuchen natürlich Probleme so gut es geht zu vermeiden, aber das kann aufgrund der Komplexität leider nicht immer gelingen.

Wie kann ich ein Logfile zur Fehleranalyse erstellen?

evcc gibt in seiner Standard Konfiguration nur dann Fehlermeldungen aus, wenn ein Fehler auftritt (siehe auch log Parameter in der evcc.yaml).

Wenn evcc auf der Konsole ausgeführt wird, werden die log Nachrichten einfach in die normale Ausgabe geleitet.

Mittels evcc charger oder evcc meter oder evcc vehicle können auf der Kommandozeile die verschiedenen Gerätetypen getestet werden. Dabei kommt der in evcc.yaml konfigurierte Log-Parameter (siehe oben) zum Einsatz. Will man davon abweichende Tests durchführen, kann der Log-Parameter beim Aufruf entsprechend ergänzt werden.

Beispiel: evcc -l debug meter

Wird evcc als Linux Systemdienst, wie hier beschrieben, ausgeführt, können die log-Nachrichten über folgende Befehle verfolgt, bzw. aufgelistet werden:

  • Kontinuierliche Anzeige der evcc log Meldungen
    sudo journalctl -fau evcc
  • Anzeige der evcc log Meldungen seit dem letzten Start des evcc Services (Abbruch mit Strg-c)
    sudo journalctl -u evcc -q
  • Speichern der Log-Ausgabe in eine Datei im Home-Verzeichnis
    sudo journalctl -u evcc -q > ~/evcc.log
  • Ergänzend kann auch noch Start- (-S) und Endzeitpunkt (-U) der Log-Ausgabe bestimmt werden
    sudo journalctl -u evcc -S "2023-03-21 07:00:00" -U "2023-03-21 08:00:00" -q > ~/evcc.log

Weiterführende Hilfe: wiki.ubuntuusers.de/systemd/journalctl

Im Falle einer Docker Installation kann man über docker logs die Nachrichten anzeigen lassen, siehe Docker Dokumentation.

Weiterführende Hilfe bei der Geräteerkennung

evcc detect ist ein spezielles Kommando, welches eine Art Hardwareerkennung und Netzwerksuche für bestimmte Geräte ermöglicht. Insbesondere hilft es manchmal bei der ersten Einschätzung von "neuen" SunSpec-kompatiblen Modbus-Geräten und bei der Validierung von IP-Konfigurationen. Es ist aber mehr ein Entwickler- und Supporttool zu Diagnosezwecken und erkennt auch nur einen nicht näher definierbaren Gerätetypenkreis.

Fehlermeldungen

Charger out of sync: expected disabled, got enabled
Charger logic error: disabled but charging

evcc erwartet nach einem Intervallzyklus bereits den neuen korrekten Status. Wenn manche Geräte etwas zu langsam auf Anweisungen reagieren, kommt es kurzzeitig zu einem undefinierten Zustand, der mit diesen Fehlern quittiert wird. Sollten ansonsten keine Probleme auftreten, kann die Meldung ignoriert werden. Abhilfe schafft ein größeres interval.

connection refused

Die IP-Verbindung zum betreffenden Gerät ist prinzipiell vorhanden, jedoch wird der Verbindungsaufbau von diesem Gerät zum angegebenen Port abgewiesen.

Die Gründe dafür können vielfältig sein. Typisch sind:

  • Der am Gerät offene Port stimmt nicht mit dem in der evcc-Konfiguration angegebenen Zielport überein.
  • Der externe Zugriff auf das Gerät ist nicht aktiviert (z.B. bei Solaredge-Wechselrichtern im Auslieferungszustand).
  • Die maximal mögliche Anzahl an parallelen Verbindungen, die das Zielgerät verwalten kann, ist erschöpft. Andere Verbindungen z. B. von Hausautomationen, Skripten oder weiteren Instanzen von evcc müssen ggf. zunächst beendet werden, bevor eine neue Verbindung möglich ist. Im ungünstigsten Fall lässt das Zielsystem nur eine einzige Verbindung zu.
  • Blockade durch eine Firewall.

i/o timeout

Hier ist eine Verbindung zum Gerät ggf. vorhanden, jedoch antwortet das Zielsystem nicht innerhalb der vorgesehenen Zeit. Entweder kommt die Anfrage gar nicht beim Zielsystem an, geht auf dem Rückweg verloren oder die Antwort dauert zu lange.

Typische Gründe sind:

  • Langsame oder schlechte Netzwerkverbindung (insbesondere bei Verbindungen über WiFi oder PowerLAN)
  • Fehlerhafte oder ungeeignete Verkabelung oder (bei RS485) falsche Terminierung
  • Das Zielgerät ist überlastet oder ausgefallen
  • Bestimmte Funktionen des Geräts sind nicht wie von evcc erwartet verfügbar (z. B. durch veraltete Firmware oder abweichende Konfigurationseinstellungen)
  • Zu kurze Timeout- oder Abfragezykluszeiten seitens evcc

/tmp/evcc: operation not permitted
bind: address already in use

Diese Fehlermeldung erscheint, wenn z B. evcc bereits als Dienst läuft und evcc zusätzlich ein weiteres Mal auf der Kommandozeile (durch Eingabe evcc) gestartet wird, ggf. auch noch mit unterschiedlichen Benutzerberechtigungen. Es darf immer nur eine einzige Instanz von evcc zur gleichen Zeit laufen.

Eine Prüfung, ob mehrere evcc Prozesse laufen, kann unter Linux mithilfe von htop erfolgen.

Sollte es Gründe geben, evcc auf der Kommandoebene zu starten, sollte vorher der Dienst mit sudo systemctl stop evcc beendet werden.

evcc UI ist nicht erreichbar (Demo Modus funktioniert aber)

Es kommt immer wieder vor, dass Fehler in der Konfiguration übersehen werden und der Service gestartet wird. Dabei wird der Start von evcc abgebrochen, ohne das es dafür einen Hinweis gibt. Ergebnis ist, dass das UI nicht erreichbar ist.

In dem Fall sollte man evcc durch Eingabe von evcc auf der Kommandozeile starten. Dort werden dann auch Fehlerhinweise gegeben, die den Start des Service verhindert haben.

Mittels der oben genannten Tests kann man diesen Fehlern auf den Grund gehen und sie beheben. Erst wenn alles fehlerfrei ist, sollte der Service gestartet werden.

Laden

Auto lädt beim Einstecken obwohl kein Überschuss vorhanden ist

Bei einigen Wallboxen wird die Ladung sofort nach dem Einstecken gestartet oder durch das Präsentieren einer RFID-Karte ausgelöst. Das Startverhalten können wir leider nicht immer beeinflussen. evcc erkannt dieses Fehlverhalten aber und stoppt die Ladung nach kurzer Zeit.

PV-Erzeugung im Winter nutzen

In den Wintermonaten ist die PV Erzeugung meist unterhalb oder im Bereich der Mindestleistung. Um dennoch möglichst viel eigenen Strom ins Fahrzeug zu laden, kann man folgende "Tricks" anwenden:

mittels residualpower

In der Konfiguration unter site setzt man residualPower auf einen negativen Wert. Dieser bestimmt dann wieviel Netzbezug im PV Modus noch erlaubt ist. Eine Änderung ist per API möglich.

Beispiel:

site:
residualPower: -1000 # 1000W Netzbezug im PV Modus erlaubt

"Nachteil" dieser Lösung ist, dass auch bei ausreichendem Überschuss dieser erlaubte Netzbezug ausgenutzt wird.

mittels enable/disable

In der Konfiguration unter loadpoints stellt man bei enableund disable das gewünschte Verhalten ein. Eine Änderung der threshold Werte ist per API möglich.

Beispiel:

loadpoints:
enable:
delay: 1m
threshold: -200 # es wird eingeschaltet, wenn 1 Minute lang 200 W Einspeisung vorhanden sind
disable:
delay: 30m
threshold: 1200 # es wird ausgeschaltet, wenn 30 Minuten lang mehr als 1200 W Netzstrom bezogen wurde

PSA: Bei meinem Peugeot/Opel wird der Ladezustand nur aktualisiert, wenn ich die Hersteller-App benutze

Das ist leider eine Einschränkung der Herstellerschnittstelle. PSA liefert veraltete Werte aus, solange diese nicht über die App erneuert werden. Leider ist bislang noch keine Schnittstelle bekannt, um diese Erneuerung programmatisch anzustoßen.

Passwort

Ich habe mein Passwort vergessen. Wie kann ich es ändern?

Das Passwort wird verschlüsselt gespeichert, daher kann es nicht ausgelesen werden. Du kannst über die Kommandozeile ein neues Passwort setzen.

evcc password set

Alternativ kannst du das Passwort auch zurücksetzen. Dann wirst du beim nächsten Aufruf der evcc UI aufgefordert ein neues Passwort zu vergeben.

evcc password reset

Statistische Daten

Telemetry & Community Daten

Auf der evcc Webseite und im "Auswertung Ladeenergie" Dialog der evcc-UI zeigen wir aggregierte Live-Ladedaten der evcc-Installationen an. Wir sammeln diese Daten auf unserer zentralen api.evcc.io Instanz. Die Teilnahme daran ist selbstverständlich freiwillig.

Wie kann ich teilnehmen?

Im "Auswertung Ladeenergie" Dialog kannst du unter "Live-Community" deine Daten teilen.

Für die Teilnahme ist ein 💚 Sponsor Token erforderlich. Der Hauptgrund dafür ist die Datenqualität hoch zu halten und Fake-Daten zu minimieren.

Was wird aktuell übertragen?

  • aktuelle Ladeleistung
  • aktueller Anteil an Sonnenstrom
  • geladene Energiemenge
  • geladener Anteil an Sonnenenergie

Möglicherweise werden wir zukünftig noch weitere Daten hinzufügen. Dies werden aber auf keinen Fall personenbezogene Daten oder private Installationsdaten (Adresse, Zugänge) sein. Eure Privatsphäre ist uns wichtig!

Was passiert mit den Daten?

Wir speichern die Energiemengen aggregiert pro evcc-Instanz. Wir bilden keine Nutzerprofile über Zeit und haben auch kein Interesse daran dies zukünftig zu tun.

Unser Ziel ist es durch diese Daten mehr neue Nutzer für evcc zu begeistern, selbst mehr über das Nutzungsverhalten von evcc zu erfahren und vor allem das durch evcc nutzbar gemachte Potenzial regenerativer Sonnenenergie zu visualisieren.

Die dargestellten aggregierten Gesamtdaten können auch frei über https://api.evcc.io/v1/total abgerufen werden. Wenn ihr also Ideen für eigene kreative Visualisierungen habt, baut gerne was und erzählt uns davon.

Mehr Informationen findest du auch auf unserer Datenschutzseite.

Ersparnisberechnung

In der evcc Oberfläche wird dir unten rechts angezeigt wieviel Prozent deiner geladenen Energie aus eigenem Sonnenstrom stammt (Beispiel: 85% Sonnenenergie). Beim Klick darauf öffnet sich ein Dialog der mehr Details zur Ladenergie und deinen eingesparten Kosten zeigt. Damit diese Werte korrekt sind, musst du deinen Energie- und Einspeisepreis in der Konfiguration hinterlegen. Hier ein Beispiel:

Beispiel:

tariffs:
currency: EUR # (default EUR)
grid:
type: fixed
price: 0.294 # [currency]/kWh

feedin:
type: fixed
price: 0.08 # [currency]/kWh

Mehr Details zur Konfiguration findest du in tariffs.

Für die Berechnung der Einsparungen erfasst evcc grob die Gesamtmenge der geladenen Energie und die verwendeten Energiequellen (Netz, Batterie, PV).

Was ist Sonnenenergie?

Die direkte PV-Nutzung und die vom Batteriesystem bereitgestellte Energie werden bei dieser Berechnung gleich behandelt. evcc geht davon aus, dass der Hausspeicher primär zur Speicherung von überschüssigem, selbstproduzierten Sonnenstrom verwendet wird. Erfüllt der Speicher auch netzdienliche Leistungen (bspw. Sonnen) oder führt eine Kalibrierung mit Netzstrom durch, ist diese Annahme nicht immer korrekt. Batterieverluste durch die Umwandlung werden nicht berücksichtigt.

Berechnung von Ersparnis und effektivem Energiepreis

Der Algorithmus unterscheidet zwischen Netzstrom und selbst erzeugter Sonnenenergie (PV, Batterie). Der Kostenvorteil deiner Sonnenenergie ergibt sich aus der Differenz zwischen deinem Netzbezugspreis (z.B. 30 ct/kWh) und deinem Einspeisetarif (z.B. 8 ct/kWh). Jede geladene kWh selbst produzierter Energie ist in diesem Beispiel 22 ct (30 ct - 8 ct) günstiger als der Netzbezug. Hast du 2 kWh eigene Energie geladen entspricht das einer Ersparnis von 44 ct.

Würdest du dein Auto zu 100% mit eigener Sonnenenergie laden, entspricht der angezeigte effektive Energiepreis deiner, nicht eingenommenen, Einspeisevergütung (bspw. 8 ct/kWh). Lädst du dein Auto zu 50% aus Sonnenenergie und zu 50% aus Netzstrom passt sich der Energiepreis entsprechend an (bspw. 19 ct/kWh).

Wenn du keine Einspeisevergütung erhältst, kannst du den Einspeisepreis auf 0 setzen. Die Sonnenenergie wird dann als kostenlos gerechnet.

Uns ist klar, dass diese Einsparung nicht allein evcc zuzuschreiben ist. Steckst du dein Auto an einem sonnigen Tag an eine dumme Wallbox, wird ein Teil der geladenen Energie auch Sonnenstrom sein. evcc hilft dir aber den Anteil der geladenen Sonnenenergie zu maximieren.

Berechnung des Sonnenenergieanteils

Wenn du gleichzeitig Energie aus verschiedenen Quellen beziehst (z.B. 50% PV, 50% Netzbezug), wird die selbst erzeugte Energie zuerst dem Haus, also allen nicht von evcc gesteuerten Verbrauchern, zugeordnet. Der verbleibende Anteil wird dann auf die Ladevorgänge aufgeteilt. Beispiel: Deine PV-Anlage erzeugt 3 kW. Diese 3 kW werden komplett vom Haus verbraucht (bspw. Waschmaschine). Parallel lädst du dein Auto mit 3 kW (bspw. Modus = schnell). Das Haus wird in diesem Fall mit 100% Sonnenanteil gerechnet, das Auto mit 0%.

Flexible Preise (Octopus Energy, Awattar, Tibber, etc) werden für die Ermittlung des effektiven Energiepreises berücksichtigt.

Heizstab & Wärmepumpe

Beispiel: SG-Ready-Kontakt mit Shelly

In dem Beispiel wird der SG-Ready-Kontakt einer Trinkwasserwärmepumpe gesteuert.

"Vehicle-Soc" dient dabei als Anzeige für die Temperatur.

  • Shelly 3EM als Grid-Meter
  • Shelly EM (Stromzange) als Charge-Meter
  • Shelly 1 als Charger (öffnet/schließt den SG-Ready-Kontakt)
Beispielkonfiguration
network:
schema: http
host: evcc.local
port: 7070

interval: 10s

log: info

meters:
- name: grid
type: template
template: shelly-3em # Shelly 3EM als Grid-Meter
usage: grid
host: 192.168.178.28

- name: WP_Pwr
type: template
template: shelly-1pm # Shelly EM Stromzange 2
#usage: charge
host: 192.168.178.21
channel: 1

chargers:
- name: WP_SG
type: template
template: shelly # Shelly 1 für SG-Kontakt
host: 192.168.178.29
standbypower: 15
integrateddevice: true
heating: true

vehicles:
- name: WP
type: custom
title: Wärmepumpe
icon: waterheater
phases: 1
soc:
source: mqtt
topic: Haus/Wasser_Temp

loadpoints:
- title: Warmwasser
charger: WP_SG
meter: WP_Pwr
vehicle: WP
enable:
threshold: 0
delay: 1m
disable:
threshold: 0
delay: 15m # Laufzeit mindestens 15 Minuten
soc:
estimate: false
poll:
mode: always
interval: 5m

site:
- title: Wasser
meters:
grid: grid

mqtt:
broker: raspberrypi:1883
topic: evcc