da in verschiedenen Fäden hier schon das Thema “PV-gesteuertes Laden von E-Autos” angesprochen wurde, möchte ich hier das Thema nochmals direkt besprechen. Es wird ja langsam immer aktueller, je mehr E-Autos im Umlauf sind…
Ich nutze jetzt seit etwa drei Jahren eine Steuerung, die mir ermöglicht, den Überschuss der PV an die Wallbox zu melden und damit das E-Auto mit dem eigenen Grünstrom zu laden. Hier ein Bild von heute, ab 12.30 Uhr war das Auto angeschlossen.
Basis ist die Erfassung der Einspeise-Leistung. Bei mir wird dazu das Smartmeter (also der Zwei-Richtungszähler des Versorgers) über eine Photodiode ausgelesen. Die Auswertung übernimmt die OpenSource-Software Volkszähler, die auf einem Raspi läuft.
DIe Wallbox kann bei mir (Marke Eigenbau, Phoenix EVCC) per ModbusTCP gesteuert werden. Zu Beginn habe ich das mit einem kleinen Shell-Skript unter Linux erledigt. Einige Zeit später habe ich die Steuerung über einen Loxone-Server gemacht.
Seit ich meine Powerwall mit dem DIY-BMS V2.0 von Andreas aufgerüstet habe, bin ich dann auf NodeRed umgestiegen. Die Möglichkeiten der Steuerung und Visualisierung mittels NodeRed Dashboard finde ich recht cool.
Es gibt natürlich noch viele weitere Möglichkeiten, das PV-gesteuerte Laden umzusetzen. Ein weiteres Beispiel ist https://openwb.de. Auch der Go-E-Charger kann per ModBusTCP gesteuert werden und ist auch mit der OpenWB-Software steuerbar. Einen GoE-Charger habe ich selbst und kann auch hier über Erfahrungen berichten, falls jemand Interesse hat.
Hallo, ja gute Idee, die Diskussion hier weiterzuführen.
Welchen Wechselrichter hast du im Einsatz und wie bekommst du folgende Werte nach Node Red? - Daten vom WR - Daten vom BMS - Daten vom EVU weiterhin von der Photodiode via Volkszähler und dann weiter nach Node-Red? Über welches Protokoll?
Ich habe mir mal testweise auf meinem Pi 3B Node Red installiert. Auf diesem läuft auch bereits OpenWB. Wenn meine Wallbox angeschlossen ist, dann werde ich den Pi in der OpenWB nutzen und ans LAN anschließen. Ich möchte gerne die Ladesteuerung der OpenWB überlassen und ihr die nötigen Informationen zukommen lassen.
Ich müsste dann die Daten in Node-Red bekommen und mittels MQTT (oder anderes Protokoll) an die OpenWB senden. Es stehen folgende Schnittstellen zur Verfügung seitens Voltronic, dem WR-Hersteller, welchen ich nutzen möchte. USB, RS232, Optional: Modbus, SNMP, A400
Das sind erstmal ein paar Ideen, ich finde mich erst in das Thema Raspberry ein.
Nachtrag: Ich habe nun schonmal die aktuelle PV-Leistung an OpenWB mit Node Red und MQTT geschickt. Der Wert wird korrekt in OpenWB aktualisiert. Nun muss Node Red noch mit den nötigen Infos gefüttert werden. Ich möchte gerne sicherstellen, dass das nachher alles funktioniert und ich aus dem Wechselrichter die nötigen Daten bekomme, denn dieser hat ja keine entsprechende API für einen cURL request.
den Wechselrichter meiner PV-Anlage frage ich nicht direkt mit NodeRed ab, sondern via Volkszähler. Die Werte Solarleistung, Bezug und Einspeisung werden mittels einer http-GET-Abfrage als JSON-Objekt an NodeRed übergeben und ausgewertet. Die Daten vom BMS (du meinst vom Auto ?) hole ich über ein Skript aus OpenWB, welches die ConnectedDrive-Webseite von BMW ausliest. (Leider oft etwas zeitversetzt, bzw. die Webseite rechnet den Ladestrom beim Start stur weiter…) Die Daten von meiner Powerwall lese ich über Solpiplog vom PIP-Inverter. Also PV-Wechselrichter und Batterie-Wechselrichter sind bei mir zwei getrennte Geräte.
An meiner PV hängt ein Danfoss TripleLynx 10k-Wechselrichter, dessen Daten werden von einem Solarlog200 ausgelesen und im Netzwerk zur Verfügung gestellt werden, so dass ich diese auch via Volkszähler abfragen kann.
So ähnlich könnte ich das auch umsetzen. Können Volkszähler und Node-Red gleichzeitig auf dem OpenWB Raspberry mitlaufen oder würdest du empfehlen, das auf zwei separaten Raspis zu realisieren? Ist der WR via USB Kabel am Raspi angeschlossen oder gehst du da noch einen Umweg über LAN?
Woher bekommt Node-Red die SoC Werte deiner Powerwall? Ist das bei Andreas’ BMS bereits irgendwie implementiert? Ich meine, man muss ja die (Ent)Ladekurve kennen, um von der Spannung auf die aktuelle Ladung schließen zu können, dies ist insbesondere bei LiFePo4 nicht ganz einfach.
Den Volkszähler würde ich wohl zum Laufen bekommen und die Anbindung an den MPP MPI Hybrid 5.5E wohl auch, sofern dieser unterstützt wird. Dann könnte ich die Werte wie von dir beschrieben nach Node-Red schicken und per MQTT der OpenWB zur Verfügung stellen. Ich hatte ja bereits geschrieben, dass ich solche Werte bereits via MQTT übertragen habe, das waren natürlich ausgedachte Werte, weil ich noch keine PV habe.
Nun muss ich nur noch schauen, wie ich folgendes realisiere: “http-GET-Abfrage als JSON-Objekt an NodeRed übergeben und ausgewertet”
Ich bin überrascht, dass keiner der interessanten Hybrid Wechselrichter mit 48V Akkukompatibilität eine einfache API hat, welche OpenWB direkt auslesen kann. Growatt und Voltronic zumindest können das nicht. Andere kosten viel mehr, benötigen Leistungsoptimierer oder sind nur mit HV-Akkus kompatibel oder benötigen eine Kommunikation zum BMS. Naja, irgendwas ist ja immer…
Vielen Dank schonmal für das Teilen deiner Erfahrungen!
So ähnlich könnte ich das auch umsetzen. Können Volkszähler und Node-Red gleichzeitig auf dem OpenWB Raspberry mitlaufen oder würdest du empfehlen, das auf zwei separaten Raspis zu realisieren?
Ich würde mind. 2 Rapis nehmen, da openwb, NodeRed und Volkszähler jeweils einen Webserver haben. Aber machbar ist das vermutlich auch auf einem Raspi. Da bin ich zu wenig fit in IT-Sachen.
Ist der WR via USB Kabel am Raspi angeschlossen oder gehst du da noch einen Umweg über LAN?
Weder noch. Der Wechselrichter (der PV) hängt mit RS485 am SolarLog und dieser wiederum im Netzwerk.
Woher bekommt Node-Red die SoC Werte deiner Powerwall? Ist das bei Andreas' BMS bereits irgendwie implementiert? Ich meine, man muss ja die (Ent)Ladekurve kennen, um von der Spannung auf die aktuelle Ladung schließen zu können, dies ist insbesondere bei LiFePo4 nicht ganz einfach.
DIe SOC-Werte meiner Powerwall bekomme ich mit dem Script "Solpiplog", welches die Werte des PIP als MQTT sendet. Da könntest du also den Umweg über NodeRed sparen. Andreas'BMS bzw. die Variante von DWL sendet auch per MQTT.
Nun muss ich nur noch schauen, wie ich folgendes realisiere: "http-GET-Abfrage als JSON-Objekt an NodeRed übergeben und ausgewertet"
Wenn Volkszähler läuft, dann geht die Abfrage über Node-Red so:
Die HTTP-Abfrage an meinen Volkszähler gibt dann folgendes zurück:
Unter "Average" ist dann der Aktuelle Wert, der in NodeRed mittels folgender Funktion extrahiert wird:
var value = msg.payload.data.average; msg.payload = Math.trunc(value); msg.topic = "Strombezug aus dem Netz";
return msg;
Übringens verwende ich meinen Hausakku nicht zum Auto laden. Das halte ich für wenig sinnvoll und brauche es auch nicht. Die Werte des Akkus sind nur zu meiner Info im Dashboard mit angezeigt.
Ich hab es mal hier rein geschoben Solarladeverluste vom 29.März 2021 gemessen an der ZOE ZE50 mit 52 kWh brutto und etwa 48 kWh netto. Bedeutet 1% entspricht rund 0,48kWh im Akku nachgeladen. Geladen wurde in 3 Stufen, rund 0,7kW / 1,5-1,8kW / 2,5kW. Solaranlage ist eine Inselanlage ohne Netzanschluss 1 kWp Ost und 3,7 kWp West. Wechselrichter SMA 2224. Start 9:15 und Ende 17:45. Die Werte mit 0,7 kW und 1,5/1,8kW sind relativ ungenau da die Zeitspanne relativ kurz ist. Ladestart bei 20% Ladeende bei 51%. 9:15-11:15 20% -22% 0,7kW Bedarf 1,37kWh => 2%x0,48kWh/%= 0,96kWh zu 1,37kWh 70% Wirkungsgrad. 11:15 - 12:20 22%-25% 1,5-1,8kW Bedarf 1,75kWh => 3%x0,48kWh/%= 1,44kWh zu 1,75kWh 82% Wirkungsgrad. 12:20 - 17:40 25%- 51% 2,5 kW Bedarf 13,5kWh => 26% x 0,48kWh/% = 12,48kwh zu 13,5kWh 92% Wirkungsgrad. Der kWh Bedarf wurde vom Ladegerät angelesen. Natürlich sind das KEINE wissenschaftliche Werte, es geht aber um eine Größenordnung. Das Ladegerät ist einstellbar auf 6A / 8A / 10A / 13A / 16A . Um eine Ladeleistung von 700W zu erreichen wurde zwischen Wechselrichter und Ladegerät ein einstellbarer Ringkerntrafo eingesetzt und die Ausgangsspannug hat etwa 140-150Volt betragen. Durch diesen Ringkerntrafo ist es möglich gleitend die Ladeleistung an die PV-Leistung anzupassen. Dies geht bei meinem bis max. 2KVA.