Meine Installation: PV Überschussladen mittels EVCC (Wallbox: Cupra Connect, Raspberry, Shelly pro 3EM)

  • Ich möchte euch meine EVCC Ladelösung vorstellen und die Installation/Aufwand zeigen. Das ist zwar viel Text, aber keine Sorge: Es ist sehr einfach und überschaubar.


    Mittels EVCC kann ich steuern, wie und wann mein Born geladen wird – nur mit Überschuss meiner PV Anlage, mit Haushaltsstrom um auf die Mindestladestärke zu kommen plus PV Überschuss, oder mit maximaler Ladeleistung. Mittels Ladeplänen kann auch eingestellt werden, wann der Ladevorgang startet/stoppt/fertig sein soll.

    Das ganze Projekt ist über www.evcc.io zu finden.


    Anzeige.png


    Charmant dabei ist, dass auch weniger intelligente Wallboxen und Wechselrichter eingebunden werden können, um das PV Überschussladen zu erzielen.



    Mindest-Hardware (meine Komponenten):

    • Raspberry Pi 3b+ (hatte ich noch rumliegen; eine Installation auf Docker geht auch (wer z.B. ein NAS immer am Laufen hat))
    • Shelly pro 3EM (die nicht-pro Version Shelly 3EM geht auch) (gibt’s für PV Anlagenbesitzer ohne Mehrwertsteuer und bei www.shellyparts.de sehr günstig)
    • Cupra (Elli) Connect Wallbox (Generation 1)


    Optional: Beim Einsatz eines Raspberrys einen Monitor (oder gar Touchmonitor) (geht sonst auch per PC und/oder Handy, Tablet etc. – alles, was einen Browser hat)



    Meine PV Anlage hat eine Leistung von 15,6kW peak und läuft über einen SMA Sunny TriPower (stp)15000TL. Könnte man auch noch einbinden, würde mir aber keinen Zusatznutzen bringen.



    SHELLY:


    Den Shelly lässt man am besten von einem Elektriker installieren – wobei die Installation nicht schwer ist. Strom an den Shelly und die 3 Klemmen um die drei Hausleitungen (Phasen) legen. Und zwar direkt vor oder nach dem Zähler (nach dem Zähler ist meist einfacher zugänglich; einfach die Richtung der Klemmen beachten). Mittels Handy und Shelly-App den 3EM einrichten (also mit dem heimischen Netzwerk (WLAN oder LAN) verbinden) und kontrollieren, ob die Werte plausibel sind. Weiterführende Einstellungen oder Abos sind nicht nötig. Hiermit erhält man folgende Werte: Verfügbarer Überschuss, wobei der Momentanverbrauch schon abgezogen ist (was halt sonst im Haus Strom zieht) – also die Einspeisung bzw. der Stromertrag, der zum Aufladen bereitsteht. Und natürlich nachts (bzw wenn es zu dunkel ist) den Strombezug aus dem Netz. EVCC rechnet sich dann mit der Ladeleistung der Wallbox alles selber aus.



    WALLBOX:


    Die Wallbox (natürlich auch von einem Elektriker angeschlossen) muss im selben Netz wie der Shelly und der Raspberry eingebunden sein – egal ob der WLAN oder LAN. Auch ein „Mischbetrieb“ der einzelnen Komponenten ist möglich. Beim Cupra Connect sollte die Firmware auf dem aktuellen Stand sein, um die EEBUS Schnittstelle zu erhalten. Die Einrichtung erfolgt dann später.



    RASPBERRY:


    Die Installation eines Betriebssystems auf dem Raspberry und dann die Installation von EVCC auf dem Raspberry ist prinzipiell sehr gut auf der Raspberry Homepage bzw. auf der EVCC Seite beschrieben. Dennoch eine kleine Zusammenfassung:



    Nach der Installation des Raspberry Pi Managers auf dem PC/Mac kann man in diesem ein Betriebssystem auswählen (am besten die Empfehlung verwenden) und dieses auf eine MicroSD Karte installieren (die hängt am Kartenlesegerät; der Raspberry Pi ist noch nicht im Einsatz). In dem Raspberry Pi Manager kann man auch schon grundlegende Einstellungen vornehmen, vor allem die WiFi Zugangsdaten eingeben, SSH Verbindung aktivieren, und einen User (Benutzernamen & Passwort) anlegen. Nach der unspektakulären Installation schiebt man die SD Karte in den Raspberry, versorgt diesen mit Strom und wartet erstmal ein paar Minuten ab, dass er sich das erste Mal eingerichtet hat. In der Zeit (5 Minuten) kann man einen Kaffee trinken gehen.



    Als nächstes muss man EVCC installieren. Man kann den Raspberry mittels Monitor, Tastatur und Maus bedienen oder … man bleibt am PC sitzen und macht es über die Konsole. Das ist zwar irgendwie subjektiv unmodern, aber objektiv gesehen ganz einfach. Ich habe mir hierfür am Mac iTerm2 https://iterm2.com installiert. An einem Windows PC öffnet man die Eingabeaufforderung (WIN+R) und gibt cmd ein und bestätigt das mit Enter. Schon hat man eine Konsole offen. Auch PuTTy https://www.putty.org ist eine gute Lösung, um z.B. Verbindungen zum Raspberry einfach zu speichern.


    Und jetzt? Im Router findet man die IP Adresse des Raspberrys. In der Konsole gibt man ssh IP-ADRESSE ein und kann sich dann mittels Passwort anmelden. Bei mehreren Nutzern geht auch ssh NUTZERNAME@IP-ADRESSE. Wer keinen Nutzer angelegt hat, nutzt ssh pi@IP-ADRESSE und verwendet das Passwort raspberry.



    Hinweis:


    Sollte eine Fehlermeldung oder ein Hinweis kommen, dass man Verbindungen und Geräte vertrauen will, dann diese bestätigen oder den Anweisungen folgen (wenn man den Raspberry z.B. schonmal im Netz hatte, aber das Betriebssystem neu aufgespielt hat, kann die SSH Verbindung schonmal blockiert werden, da Hard- und Software nicht übereinstimmen). In dem Fall: (Beschrieben für Mac) Im Finder im Menü "Gehe zu" anklicken und "Gehe zum Ordner ..." anklicken. Im Dialog gibt man dann "/Benutzer/SEIN-EIGENER-BENUTZERNAME/.ssh/" ein. Dann die Datei "known_hosts" (mit Textedit) öffnen und dort die Zeile mit der IP Adresse des Raspberrys löschen, sowie dem dort hinterlegten Schlüssel (key). Nicht alles löschen! Jetzt wieder mit der Konsole mit dem Raspberry verbinden, die Hinweismeldung bestätigen, und schon sollte es wieder klappen.



    Jetzt folgt man den Schritten zur Installation:



    Inzwischen hat EVCC einen Einrichtungsassistenten, der einem bei der Auswahl der kompatiblen Autos, Wallboxen, Stromzählern (meters) unterstützt. Das kann man später aber alles ändern oder von Hand eintragen. Hierzu muss die evcc.yaml Datei bearbeiten. Dazu gleich mehr.


    Grafisch kann man mittels einer VNC Verbindung auf den Raspberry zugreifen und am PC diesen fernbedienen. Dazu installiert man sich am PC den VNCViewer (kostenlos) https://www.realvnc.com/de/connect/download/viewer/ . Als nächstes aktiviert man am Raspberry die VNC Verbindung (wenn man diese in der initialen Konfiguration nicht schon freigegeben hat). In der Konsole (man ist immer noch mit dem Raspberry verbunden, sonst erst wieder mittel ssh IP-ADRESSE verbinden) sudo raspi-config eingeben und dort nach Interface Optionen schauen (Steuerung mit den Pfeiltasten – die unterste Zeile erreicht man mittels Pfeiltaste links/rechts) und dann VNC aktivieren (enable). Leider ändert sich der Inhalt der Raspberry Konfiguration immer mal wieder, daher kann sich das Wording ändern. Ist das erstmal geschafft, am PC den VNC Viewer starten, die IP Adresse des Raspberrys sowie Benutzername und Passwort eingeben, Hinweise gekonnt bestätigen und schon sieht man den Desktop des Raspberrys und kann diesen mit Tastatur und Maus steuern.


    Am Raspberry 3b+ habe ich festgestellt, dass eigentlich alle Browser sehr sehr sehr langsam sind. Ist die Website aber einmal geladen, ist es annehmbar. Es wurde etwas erträglicher, als ich (ebenfalls mit sudo raspi-config) unter advanced options – Wayland auf labwc umgestellt habe und dann im Browser unter den Einstellungen die Hardwarebeschleunigung deaktivert habe.



    Zurück zur EVCC Konfiguration:


    Diese kann man mittels dem Befehl sudo nano /etc/evcc.yaml anzeigen lassen und ändern. Nano ist dabei ein Texteditor (bereits standardmäßig installiert). Mittels Pfeiltasten zu den passenden Stellen navigieren und dann schreiben. Maus geht nicht. Copy&Paste geht. Am Ende STRG+X, mit Y/J bestätigen, dass man die Änderung speichern will und mit Enter bestätigen.



    Als letztes noch die Wallbox Konfiguration:


    Den Cupra Connect mittels IP Adresse im Browser öffnen und dort den Energiemanager EVCC auswählen. Die Verbindung startet man erst, wenn man am Raspberry während er EVCC Konfiguration dazu aufgefordert wird. Hier muss man jeweils die Zertifikatsnummern (werden angezeigt) eingeben/bestätigen. Kein Hexenwerk, einfach die Anweisungen genau befolgen. Wenn der Raspberry und die Wallbox einmal verbunden sind, sollten die IP Adressen nicht mehr geändert werden. Dazu mehr weiter unten unter „generell“.



    Das ist eigentlich schon alles.

    (weiter unten gehts zum Teil 2 - Forum hatte mich zwischenzeitlich gesperrt ;) )

  • hab seit 2 Wochen auch evcc laufen bzw im test:


    war schon ein wenig Fummelei (brauche ein Sponsortoken ) aber nach ein paar Versuchen und Anleitung genau lesen hats geklappt.

    jetzt probiere ich Überschuss laden und auch das sieht bisher ganz positiv aus ...

    ich habe:

    Kostal plenticore Wechselrichter

    go-e Wallbox


    was machst du mit den Cron Jobs ?

  • BornFan


    danke für deinen sehr guten Bericht.


    Als Smartmeter hast du ja den shelly pro 3EM genutzt. Du hast ja einen WR von SMA. Hast du auch den Sunny Home Manager 2 im Einsatz? Kann man den nicht anstelle des zusätzlichen Shellys einbinden.

    Hast du das ganze auch z.b. in Homeassistant integriert?

    Viele Grüße

    Guido


  • Ich wurde leider nach dem Posting automatisch vom Forum gesperrt. Und das Zeichen-Limit pro Post war auch schon erreicht :D
    Hier geht es weiter:


    Das ist eigentlich schon alles.


    Es geht aber auch noch etwas mehr:


    Zur Berechnung der Stromkosten habe ich meine Strompreise hinterlegt (Netzbezug als auch Einspeisevergütung, die mir ja entgeht, wenn ich mittels PV Überschuss den Cupra lade).


    Das muss man dann selber in die evcc.yaml eingeben. Hier ein Screenshot meiner gesamten evcc.yaml, wie das aussieht:


    yaml.png


    Mein Raspberry hängt in der Garage hinter einem Touchscreenmonitor, den ich noch übrig hatte. Einfach per USB und HDMI mit dem Raspberry verbinden, eine weitere Konfiguration war nicht nötig. Damit der Raspberry nicht überhitzt, habe ich im Alu-Kühlkörperchen aufgeklebt und ihn in ein Plastikgehäuse gepackt. Dieses habe ich oben mittels Dremel aufgeschnitten und einen boxed-Lüfter eines alten AMD Prozessors aufgesetzt (professionell mit Kabelbindern befestigt). Eigentlich läuft der mit 12V; 5V gehen aber auch (das trifft nicht auf jeden Lüfter zu). Der Lüfter ist am GPIO Bord mit 5V und GRD verbunden (keine Lüftersteuerung) und unhörbar (da er mit 5V langsamer dreht). Kühlt aber den Raspberry von ca. 61 auf ca. 34 Grad runter. Der weisse Stecker des Lüfters passt aufs GPIO Board; ich musste nur die roten (5V) und schwarzen (GRD) Kabel umstecken (mit einem kleinem Schraubendreher in die kleinen Löcher piksen und am Kabel ziehen – dann dort einstecken, wo man sie braucht. Die ungenutzten Kabel (Lüftersteuerung) nur herausziehen und nicht anschliessen). Was die richtigen Anschlüsse am GPIO Board sind, bitte mit dem jeweiligen Raspberry anschauen – auch das ändert sich immer mal wieder.



    Da der Raspberry genau neben einem Repeater hängt, habe ich die WLAN Verbindung deaktiviert und den Raspberry mittels LAN an den Repeater angeschlossen (Achtung: Wenn man zuerst alles im WLAN macht und dann den Raspberry per LAN anschließt, ändert sich dessen IP Adresse. Ich empfehle, im Hinblick auf die EEBUS Verbindung Wallbox/EVCC, die Konfiguration von EVCC mit der endgültigen Netzwerkverbindung zu machen). Dadurch hat sich jetzt jedoch der Monitor nicht mehr selber in den Standby geschickt. Damit der nicht zuviel Strom verbraucht, schalte ich ihn automatisch an/aus. Am Wochenende etwas öfter an, unter der Woche öfter aus (bin da auch in der Arbeit). Könnte man auch mit einem Bewegungsmelder machen, mal schauen. So sehe ich jedenfalls in der Garage, was gerade der Status meiner Anlage ist, ob und wie der Cupra läd etc. Und ich kann die Ladeart auch direkt am Touchscreen anpassen. Was aber auch am Handy im Browser geht (IP-ADRESSE:7070 eingeben; klappt nur im heimischen Netz, nicht von unterwegs).



    Die Einstellung geht mittels Cronjob (was einfach nur bedeutet, dass Befehle zu festgelegten Zeiten durchgeführt werden).


    Die Konfiguration erledigt man wie folgt:


    In der Konsole (mit dem Raspberry verbunden) crontab -e eingeben und nano als Editor auswählen. Der sollte ja schon bekannt sein.


    Mein Beispiel unten als Screenshot.


    Leider ändern sich auch die Befehle alle zeitlang mal, Stand Oktober 2024 klappt es aber wie folgt: display_power 1 schaltet die HDMI Ausgabe am Raspberry an, display_power 0 schaltet sie aus. Die Befehle sind unter /usr/bin/vcgencmd standardmäßig vorhanden. Der Monitor geht selber in den Standby/ wacht aus diesem auf.


    Die erste Zahl ist die Minute, die zweite die Stunde, die dritte der Tag im Monat (1-31), die vierte der Monat (1-12), die fünfte der Wochentag (0-7; 0 und 7 ist jeweils Sonntag); dann folgt das Verzeichnis zum Befehl und dann der Befehl. Werden Werte nicht benötigt, schreibt man ein * (das bedeutet, dass einfach alles aktiviert ist; bei der dritten Zahl z.B jeden Tag). Man kann Aktionen zusammenfassen, z.B. zweite Zahl (die Stunde) 9-17 bedeutet jedesmal um 9, 10, 11, … bis 17 Uhr. Ein Beispiel, um täglich den Monitor um 18 Uhr einzuschalten und um 18:30 auszuschalten sieht so aus:



    0 18 * * * /usr/bin/vcgencmd display_power 1


    30 18 * * * /usr/bin/vcgencmd display_power 0



    Meine Konfiguration:


    Raspberry Crontab.png



    GENERELL:



    Alle verwendeten Geräte sollten eine fixe IP Adresse haben – an einer Fritzbox kann man dafür sich einfach das Netzwerk anzeigen lassen (Heimnetz / Netzwerk), beim passenden Gerät das Stiftsymbol anklicken und dann dort eine Haken setzen, dass es immer dieselbe IP Adresse bekommen soll.



    Tipp: Wenn man später die IP Adresse ändern will, und diese IP Adresse schonmal einem Gerät zugewiesen war, kommt eine Fehlermeldung, dass die IP Adresse schon vergeben ist, auch wenn es das Gerät zu der Adresse gar nicht mehr gibt oder das Gerät inzwischen eine andere IP Adresse erhalten hat. In dem Fall kann man unter Heimnetz/Netzwerk ganz unten alle ungenutzten Verbindungen entfernen, die Fritzbox neu starten und schon ist die IP Adresse wieder verfügbar.





    Ich hoffe, der Beitrag zeigt, dass PV Überschussladen mittels EVCC mit etwas Eigenarbeit leicht zu realisieren ist. Bei generellen Fragen helfe ich gerne weiter, bei spezifischen Fragen zu Geräten wird das EVCC Forum wohl eine bessere Anlaufstelle sein.

  • was machst du mit den Cron Jobs ?

    Sorry, der Teil hatte gefehlt (War wohl zu schnell beim Copy&Paste fürs Forum ;) ) Hab ich gerade ergänzen können.
    Mit den CronJobs schalte ich meinen Monitor an/aus, der in der Garage hängt. Ich überlege mir, einen Bewegungssensor anzuschließen (ca. 6 Euro), der dann den Monitor anschaltet. Aber das mit dem Monitor ist mehr eine Spielerei, weil er noch übrig war. Prinzipiell kann man alles am Handy erledigen, was fast noch komfortabler als am Touchscreenmonitor ist. Und ganz ehrlich ... groß was verstellen muss man eh nicht. Ist mehr eine Anzeige, ob alles so läuft, wie man will.

    Du hast ja einen WR von SMA. Hast du auch den Sunny Home Manager 2 im Einsatz? Kann man den nicht anstelle des zusätzlichen Shellys einbinden.

    Hast du das ganze auch z.b. in Homeassistant integriert?

    Nein, kein Home Manager. Es hängt noch ein Solarlog 1200+ dran, den kann man zwar in EVCC integrieren, aber man soll es nicht (steht nicht genauer dabei, warum nicht). Und der Solarlog liefert zwar alle Daten, aber in der falschen Kategorie und man kann das (warum auch immer) nicht anders einstellen (weder der Installateur noch ich haben eine Lösung gefunden. Der Eigenverbrauchswert und der Einspeisewert sind vertauscht. Das ist für die grafische Darstellung zwar besser (wenn man weiß, dass die Beschriftung falsch ist), aber wenn die Daten weitergegeben werden, ist das natürlich Murks.)
    Den WR könnte man per Modbus zwar noch verbinden, würde in meiner Konstellation aber keinen Mehrwert bieten, weil mir der Shelly ja schon genau und ohne weitere Berechnung anzeigt, wieviel Strom ich als Überschuss habe.
    Aber vom Prinzip ja, den Sunny Home Manager 2 kann man in EVCC einbinden. Der sollte dann die benötigten Werte liefern und der Shelly ist dann nicht mehr nötig.

    HA nutze ich nicht.

    PS: Ich habe den Shelly auch in mein SmartHome (homee) integriert (wo ich den WR nicht einbinden kann), daher machte die Variante mit Shelly für mich noch mehr Sinn.

  • Ich habe bei uns ein altes Android Tablet aufgefangen (Wandhalterung von eBay) und darauf wird EVCC angezeigt. Dan kann man beim reinkommen schnell drauf schauen und ggf. umstellen.

    Auf den Handys (Frau und ich habe iPhones) haben wir EVCC als Webapp auf dem Handy abgelegt.


    Geht auch mit einem Android Handy, da weiß ich nur nicht wie.


    iPhone/iPad: EVCC mit Safari aufrufen. Auf Teilen und dann „Auf Home Bildschirm“.

    So hat man EVCC direkt als „App“ auf dem Handy.


    IMG_7118.jpg



    IMG_7119.jpg

  • Wenn man mit einer kleineren PV-Anlage (hier 6,9 KW Peak) den Überschuss über den Ladeziegel ins Auto packen will, gibt es eine einfache Lösung über die EV-Autocharge App:

    Die ließt unseren Fronius - Wechselrichter aus, schaltet einen Shelly, den ich in der Garage in einer Aufputzdose vor eine CEE-Blau-Dose installiert habe, an der der Ladeziegel hängt.

    Die App liest in der kostenlosen Version den Wechselrichter alle 8 Minuten aus, was absolut ok ist.

    Bei Bedarf kann man auch manuell darüber schalten.

    Klappt wunderbar.

    Im Winter kann man die Nulllinien-Verschiebung auch negativ einstellen, so daẞ der Ladeziegel z.B. auch schon bei 1KW Überschuss geschaltet wird, der Rest kommt dann aus dem Netz. Wenigstens „verschenke“ ich dann auch den Überschuss nicht für 8Cent… 😅