Ich habe mir das EVCC Add-on jetzt endlich in Home Assistant installiert und komplett eingerichtet, und ich ärgere mich ehrlich gesagt, dass ich das nicht schon früher angepackt habe. Seitdem lädt mein Tesla überwiegend mit Sonnenstrom vom Dach, und wenn gerade keine Sonne scheint, wartet EVCC auf günstige Stunden im Netz. Das klingt nach viel Aufwand, ist es aber eigentlich nicht. In diesem Guide zeige ich dir, wie du das selbst einrichtest, vom Add-on bis zum fertigen Ladeplan.
Was EVCC macht und warum es sich lohnt
EVCC steht für Electric Vehicle Charge Controller und ist eine kostenlose Open-Source-Software, die dein E-Auto intelligent lädt. Sie entscheidet automatisch, ob sie PV-Überschuss nutzt, auf günstige Strompreise wartet oder den Hausakku priorisiert. Das klingt simpel, ist aber ziemlich mächtig, wenn man das mal in Aktion sieht.
Hier zeige ich dir das Setup anhand meines Teslas, und zwar ohne steuerbare Wallbox. Der Tesla Wall Connector Gen 3 ist read-only, EVCC kann dort nicht direkt reingreifen. Das Auto wird stattdessen direkt über die Fleet-API gesteuert. Das macht dieses Setup eigentlich zum schwierigsten Fall, was bedeutet, dass es mit einer smarten Wallbox wie go-e, openWB oder Easee noch einfacher geht.
EVCC selbst ist ohne Sponsoring. Als Tarifquelle nutze ich energyforecast (Partnerlink, Code ALLES), dazu gleich mehr.
Voraussetzungen
Bevor du loslegst, solltest du ein paar Dinge auf dem Schirm haben. Du brauchst Home Assistant, denn das EVCC Add-on läuft darüber und die Meter-Sensoren kommen auch von dort. Dazu ein E-Auto, hier also den Tesla mit Fleet-API-Zugang, und einen myTeslamate-Account als Command-Proxy plus Virtual Key im Auto. Den bekommst du über https://app.myteslamate.com/register?ref=phNDUAGHAG (Ref-Link, Werbung). Vom myTeslamate-Account brauchst du dann accessToken, refreshToken, clientId und proxyToken.
Weiterhin brauchst du eine PV-Anlage, optional mit Hausakku, die als Meter-Sensor in HA zur Verfügung steht, bei mir ist das SolarEdge. Und einen dynamischen Tarif: ich nutze energyforecast, weil ich damit einen Preisvorlauf von mehreren Tagen bekomme. Tibber geht als Alternative, liefert aber nur 24 bis 48 Stunden voraus. Außerdem brauchst du einen Long-Lived Access Token aus Home Assistant, damit EVCC auf die HA-Sensoren zugreifen kann.
Schritt 0: Tesla-Defaultverhalten verstehen
Das ist der wichtigste Punkt, bevor du anfängst. Ein eingesteckter Tesla unter seinem eigenen Ladelimit lädt von alleine weiter, mit der zuletzt gesetzten Stromstärke. Das ist kein Bug, das ist Tesla-Standard.
Damit EVCC sinnvoll regeln kann, muss es das Auto aktiv stoppen und nachregeln können. Nach dem Einrichten solltest du deshalb testen: Wenn du den EVCC-Modus auf „Aus" stellst, hört das Auto dann auf zu laden? Und wenn du auf „Schnell" gehst, fängt es an? Wenn nicht, stimmt etwas mit der Fleet-API-Steuerung nicht, dann Proxy und Virtual Key prüfen.
Falls du früher HA-Automationen hattest, die direkt auf number.ladestromstarke oder switch.aufladung zugegriffen haben, deaktiviere die. Sonst funken sie parallel rein und EVCC verliert die Kontrolle. Die Faustregel: HA bleibt fürs Monitoring und Klima, das Laden gehört EVCC.
Schritt 1: EVCC als HA-Add-on installieren
Die Installation ist denkbar einfach. Du gehst in HA auf Einstellungen → Apps → App Store, klickst oben rechts auf die drei Punkte und dann auf Repositories. Dort fügst du https://github.com/evcc-io/hassio-addon hinzu. Danach suchst du im App Store nach „evcc", installierst das Add-on und startest es. Ich habe außerdem „Im Sidebar anzeigen" aktiviert, damit ich die Oberfläche direkt über das HA-Menü erreiche. Die EVCC-UI läuft auf Port 7070.
Aktuelle EVCC-Versionen konfigurierst du fast vollständig über diese Weboberfläche, nicht über die evcc.yaml. Fahrzeug, Meter, Tarif, Loadpoint und Akku-Vorrang landen in der EVCC-Datenbank. Die YAML-Blöcke in diesem Guide sind als Referenz gedacht, für alle die den Datei-Weg bevorzugen. Der Konfig-Pfad des Add-ons ist übrigens /addon_configs/49686a9f_evcc/evcc.yaml.
Schritt 2: Tesla über die EVCC-UI anbinden
Zuerst registrierst du dich bei myTeslamate, verbindest dein Tesla-Konto und koppelst den Virtual Key ins Auto, der Schritt muss in der Tesla-App bestätigt werden. Danach bekommst du accessToken, refreshToken, clientId und proxyToken.
In der EVCC-UI gehst du auf Konfiguration → Fahrzeug hinzufügen → Tesla und trägst die Tokens ein. Der proxyToken ist Pflicht, commandProxy bleibt auf dem Default.
Für den Charger: weil ich keine steuerbare Wallbox habe, ist das Fahrzeug selbst der Steuerpunkt, also vehicle-api. Den Geofence aktivierst du, damit EVCC nur zuhause lädt und nicht irgendwo anders eingreift.
YAML-Referenz für Vehicle und Charger:
1vehicles:
2 - name: model_y
3 type: template
4 template: tesla
5 accessToken: DEIN_TESLA_ACCESS_TOKEN # myTeslamate
6 refreshToken: DEIN_TESLA_REFRESH_TOKEN
7 clientId: DEINE_CLIENT_ID
8 proxyToken: DEIN_MYTESLAMATE_PROXY_TOKEN # Pflicht; commandProxy bleibt Default
9
10chargers:
11 - name: tesla_charger
12 type: template
13 template: vehicle-api # nur Status + Geofence
14 geofence_enabled: true # Steuerung läuft über das tesla-Vehicle
15 lat: DEINE_BREITE
16 lon: DEINE_LAENGE
17 radius: 100Schritt 3: Meter aus Home Assistant anbinden
In der EVCC-UI gehst du auf Konfiguration → Home Assistant verbinden und legst dann die Meter an. Vorzeichen prüfen ist dabei wirklich wichtig: EVCC erwartet beim Akku Laden als negative Leistung und Entladen als positiv. Bei meinem SolarEdge passt das direkt, kein Invert-Helper nötig. Wenn dein Speicher-Sensor das anders herum zählt, brauchst du einen Template-Sensor der mit -1 multipliziert.
Hier die Übersicht der Meter, die ich verwende:
| usage | power-Entity | Vorzeichen |
|---|---|---|
| grid | sensor.ecotracker_leistung | positiv = Bezug, passt zu EVCC |
| pv | sensor.solaredge_aktuelle_leistung | positiv = Erzeugung |
| battery | sensor.solaredge_gespeicherte_energie_w + soc: sensor.solaredge_speicherniveau | Laden negativ, Entladen positiv, passt zu EVCC |
Ein Hinweis zur „?"-Anzeige in EVCC: Wenn Netz, PV und Akku aus verschiedenen Geräten kommen, zum Beispiel EcoTracker plus SolarEdge plus Balkonkraftwerk, passen die Momentaufnahmen bei schnellen Wolken manchmal nicht zusammen. EVCC zeigt dann ein graues „?". Das ist nur kosmetisch und blockiert die Regelung nicht. Sauberer wäre es, alle drei Werte aus einem einzigen Gerät zu ziehen, also sensor.solaredge_netzstrom für grid, und langsame Cloud-Quellen wegzulassen. Vorzeichen dabei prüfen: Bezug muss positiv sein.
Optional und ein bisschen präziser: den Tesla Wall Connector als eigenen Lade-Meter ergänzen, dann misst EVCC die echte Ladeleistung statt sie über die Fleet-API zu schätzen.
YAML-Referenz für die Meter:
1meters:
2 - name: netz
3 type: template
4 template: homeassistant
5 uri: http://homeassistant.local:8123
6 usage: grid
7 power: sensor.ecotracker_leistung
8 - name: solar
9 type: template
10 template: homeassistant
11 uri: http://homeassistant.local:8123
12 usage: pv
13 power: sensor.solaredge_aktuelle_leistung
14 - name: hausakku
15 type: template
16 template: homeassistant
17 uri: http://homeassistant.local:8123
18 usage: battery
19 power: sensor.solaredge_gespeicherte_energie_w
20 soc: sensor.solaredge_speicherniveauSchritt 4: Tarif über energyforecast einrichten
In der EVCC-UI gehst du auf Konfiguration → Netzbezugstarif hinzufügen → Energyforecast. Du trägst deinen Token aus https://www.energyforecast.de/api_keys ein und als Domain DE-LU.
Jetzt kommt ein wichtiger Punkt, den ich anfangs übersehen hatte. EVCC liest den rohen Spotpreis (price_ct_kwh), nicht deinen Endpreis. Ohne Aufschläge zeigt EVCC mittags 0 Cent. Du musst also in EVCC zusätzlich eintragen:
charges: 0.1486(EUR/kWh: Netzentgelt, Umlagen, Steuern aus deiner Stromrechnung)tax: 0.19(19 % MwSt)
Meine Werte kommen aus der Tibber-Rechnung, deine können leicht abweichen. Das energyforecast-Profil, das du auf der Website konfigurierst, wirkt nur auf den HA-Sensor aus dem Prognose-Video, nicht auf EVCC.
Der große Vorteil von energyforecast gegenüber Tibber: ich bekomme Preisprognosen für die nächsten sechs Tage. Das macht einen echten Unterschied für die Ladepläne, denn EVCC kann dann viel weiter vorausplanen, wann der günstigste Ladezeitpunkt ist.
Tibber bleibt eine valide Alternative, liefert den EPEX-Spotpreis, gibt aber keinen längeren Vorlauf. Token gibt es unter developer.tibber.com.
YAML-Referenz für den Tarif:
1tariffs:
2 currency: EUR
3 grid:
4 type: template
5 template: energyforecast
6 token: DEIN_ENERGYFORECAST_TOKEN
7 domain: DE-LU
8 charges: 0.1486 # EUR/kWh: Netz, Umlagen, Steuern (aus deiner Stromrechnung)
9 tax: 0.19 # 19 % MwSt
10 # Alternative: Tibber
11 # template: tibber
12 # token: DEIN_TIBBER_TOKENSchritt 5: Akku-Vorrang und Loadpoint einstellen
Akku-Vorrang stellst du in den Site- und Batterie-Einstellungen ein. Ich habe beide Werte auf 100 gesetzt:
- prioritySoc 100: Der Hausakku hat über den gesamten Bereich Vorrang. Das Auto bekommt nur den Strom, den der Akku nicht mehr aufnehmen kann, also echter Einspeise-Überschuss.
- bufferSoc 100: Der Hausakku wird nie ins Auto entladen, er bleibt komplett fürs Haus.
Loadpoint: Pro Ladepunkt kannst du in der EVCC-UI min/max Current und die Phasen einstellen. Beim Tesla ist das Minimum rund 5 A, nicht 6 A. Phasen stehen auf 3 fix, weil der Tesla keine Phasenumschaltung über die API unterstützt. Das Lade-Limit, also den Ziel-SoC, setze ich auf 90 %. Wichtig: diesen Wert nur in der UI setzen, nicht im YAML. Ein limitSoc im YAML wird beim Neustart auf 100 % zurückgesetzt.
Als Standard-Modus habe ich Solar gewählt. Dazu setze ich eine Preisgrenze für zusätzliches Netzladen, bei mir 20 Cent. Das heißt: wenn Sonne da ist, lädt das Auto davon. Wenn nicht, wartet EVCC auf Stunden unter dieser Preisgrenze.
YAML-Referenz für Site und Loadpoint:
1site:
2 meters:
3 grid: netz
4 pv: [solar]
5 battery: [hausakku]
6 residualPower: 100
7 prioritySoc: 100 # Hausakku immer zuerst voll
8 bufferSoc: 100 # Hausakku nie ins Auto entladen
9
10loadpoints:
11 - title: Tesla Carport
12 charger: tesla_charger
13 vehicle: model_y
14 mode: pv
15 # minCurrent ~5 A / maxCurrent / phases 3 / Lade-Limit 90 % in der EVCC-UI setzen
16 enable: { delay: 60s, threshold: 0 }
17 disable: { delay: 180s, threshold: 200 }Schritt 6: Die Lademodi im Überblick
EVCC bietet vier Modi, die du jederzeit in der Oberfläche umschalten kannst:
| Modus | Verhalten |
|---|---|
| Solar (PV) | nur echter Überschuss, pausiert bei zu wenig Sonne. Plus Preisgrenze fürs Billig-Netzladen. |
| Min+PV | lädt immer mit Minimum (5 A), auch aus teurem Netz. Nur für „muss-Ladung". |
| Schnell (now) | sofort mit maxCurrent, ignoriert Preis/PV |
| Aus | kein Laden |
Für „voll bis Abfahrt" nutzt du die Zielladung, also einen Abfahrtsplan, den du pro Loadpoint in der UI einrichtest. Ich habe das zum Beispiel so konfiguriert, dass jeden Montag um 20 Uhr mindestens 50 % im Akku sind und jeden Mittwoch um 6 Uhr morgens mindestens 60 %. EVCC plant dann selbstständig, wann die günstigsten Ladestunden dafür liegen, und genau dafür ist der lange Preis-Vorlauf von energyforecast so nützlich.
Schritt 7: EVCC-Daten zurück nach Home Assistant
Mit der HACS-Integration ha-evcc bekommst du alle EVCC-Werte und Steuerungen als HA-Entities zurück. Dann kannst du dir zum Beispiel ein eigenes Dashboard bauen, das alles auf einen Blick zeigt. Dazu kommt ein separates Folgevideo mit der Integration und einer fertigen Card.
Feintuning: alle Parameter auf einen Blick
Hier noch mal alle relevanten Werte zusammengefasst, damit du nicht suchen musst:
| Parameter | Bedeutung | Wert |
|---|---|---|
minCurrent | Tesla-Minimum | ~5 A (UI) |
maxCurrent | Cap | nach Setup (UI) |
| Lade-Limit | Ziel-SoC | 90 % (UI, nicht YAML) |
charges | Aufschläge energyforecast | 0.1486 EUR/kWh |
tax | MwSt | 0.19 |
| Preisgrenze | Billig-Netzladen | z.B. 20 ct (UI) |
prioritySoc | Hausakku-Vorrang | 100 % |
bufferSoc | Auto darf aus Akku ab | 100 % (= nie) |
residualPower | Puffer am Netzpunkt | 100 W |
enable.delay | PV-Überschuss muss so lange anstehen | 60 s |
disable.delay | bei zu wenig PV erst nach x stoppen | 180 s |
disable.threshold | etwas Netzbezug tolerieren | 200 W |
Die ehrlichen Grenzen beim Tesla ohne steuerbare Wallbox
Weil ich kein gutes Gewissen hätte, wenn ich das verschweige: dieses Setup hat reale Grenzen, und die solltest du kennen.
Das Tesla-Minimum liegt bei rund 5 A. Darunter regelt EVCC nicht, was bedeutet, bei wenig Sonne kann er nicht „ganz wenig" laden, sondern muss pausieren. Phasenumschaltung gibt es über die API nicht, der Tesla bleibt 3-phasig fix. Wenn das Auto schläft, kann der Start hängen, dann kurz auf „Schnell" umschalten und einmal wecken. Die Fleet-API hat außerdem Latenz und Rate-Limits, EVCC regelt deshalb träger als mit einer echten Wallbox, und es fallen rund 10 USD pro Monat an API-Guthaben an. Dazu braucht man den Command-Proxy bei myTeslamate und den Virtual Key.
Sauberes PV-Überschussladen kann eine steuerbare Wallbox schlicht besser. Für preisgeführtes Laden ist das hier trotzdem top, und mit dem, was man hat, ist es der ehrliche Weg.
Stolperfallen und typische Probleme
Ein paar Dinge, die gerne schiefgehen:
EVCC steuert nicht: Das Auto lädt trotzdem weiter. Steuerung testen wie in Schritt 0, also Modus „Aus" → hört das Auto auf?
energyforecast zeigt 0 Cent: charges und tax in EVCC fehlen, Schritt 4 nochmal prüfen.
Graues „?" in der EVCC-Ansicht: Meter kommen aus verschiedenen Geräten mit unterschiedlicher Mess-Synchronisation. Kosmetisch, oder auf SolarEdge-only für alle drei Meter umstellen.
Lädt nicht unter 5 A: Tesla-Minimum. residualPower ggf. etwas höher setzen.
Limit, Strom oder Phasen greifen nicht: Diese Werte gehören in die UI, nicht ins YAML. Ein limitSoc im YAML wird beim Neustart auf 100 % zurückgesetzt.
Auto wacht nicht auf: kurz Modus „Schnell" wählen, einmal wecken.
HA-Automationen kämpfen gegen EVCC: Alte Lade-Automationen deaktivieren. HA fürs Monitoring, EVCC fürs Laden, das ist die saubere Trennung.
Bisher funktioniert das bei mir wirklich wahnsinnig zuverlässig, und die Veränderung beim Verhältnis Solar zu Netz in den Ladevorgängen ist direkt ablesbar. Nutzt du EVCC schon, oder ist das etwas Neues für dich? Was sind deine Erfahrungen?
