Wir haben uns eine easee Wallbox zugelegt, weil das E-Auto recht schnell da war und wir für die Abrechnung des verbrauchten Stroms eine Wallbox mit Zähler gebraucht haben. Erst danach kamm die Photovoltaik Anlage mit SolarEdge Wechselrichter.
Da es keine Schnittstellen zwischen den beiden Anbietern und fertige Lösungen gab, musste ich mir eine Lösung selbst bauen. Der erste Versuche über openHab (gefunden im Support Forum von easee) war leider ein längerer K(r)ampf, den ich aufgegeben habe, weil es ständig irgendwelchse Inkompatibilitäten zwischen Versionen und verwendeten Bibliotheken gab.
Danach habe ich Home Assistant gefunden. Es war von der iOS App ansprechender, es fühlte sich von der Bedienung her viel besser an. Die Installation über Docker Compose war einfach und schnell erledigt. Die easee Integration für Home Assistant habe ich von GitHub installiert. Danach bin ich recht gut zu einem momentan ausreichendem Ergebnis gekommen.
Die Idee hit dieser Steuerung
Sobald genug Strom über die PhotoVoltaik Anlage (unabhängig vom Verbrauch) rein kommt, möchte ich der Wallbox sagen, wie viel sie Strom (Ampere) auf alle 3 Leitungen gleichmäßig schalten soll. Es soll erst ab 5 KW (5000 Watt) los gehen, da das Auto erst ab 5A pro Leitung (3 * 5 * 230 = 3450 Watt) lädt und etwas Reserve für andere Verbraucher bleiben soll. Sinkt die Ladeleistung unterhalb von 5KW (weniger als 4999 Watt), dann soll er mit dem Laden aufhören (alle Leitungen auf 0 Ampere schalten).
Hierbei handelt es sich um eine vereinfachte Implementierung, welche weitere Dauerverbracher wie Wärmepumpe oder Klimaanlagen nicht beachtet.
Umsetzung
Ich verwende 90 % des von meinem Solaredge-System erzeugten Photovoltaik Stroms, um das Auto aufzuladen. Das SolarEdge-System wird über die öffentliche Cloud-API gesteuert und wird daher nur alle 15 Minuten aktualisiert (siehe https://www.home-assistant.io/integrations/solaredge). Deswegen reicht es aus, die Easee Wallbox jede Minute zu aktualisieren.
Ich lege zwei unabhängige Automatisierungen an, um jede bei Bedarf ausschalten zu können. Eine Automatisierung im aktuellen Home Assistant System (Stand August 2022) geht wie folgt:
- Einstellungen
- Automatisierungen und Szenen
- Automatisierung erstellen
- Mit einer leeren Automatisierung starten
- Oben, rechts in der Ecke auf die drei vertikalen Punkte gehen
- „Als YAML bearbeiten“ auswählen
- Die Automatisierung in YAML (siehe weiter unten) einfügen
- charger_id (ID von der easee Wallbox ersetzen)
- Speichern
Laden starten und Strommenge steuern
Dies ist ein einfaches Implementierung in YAML für die Ladekontrolle. Diese wird ein Mal die Minute „/1“ ausgeführt. Wenn die aktuelle Leistung sensor.solaredge_current_power über 5 KW (5000 Watt) liegt (condition), dann wird die Ladeleistung gesetzt. Dafür nehme ich die aktuelle Leistung der Photovoltaik Anlage sensor.solaredge_current_power und berechne die produzierten Ampere (Watt / (230 Volt * 3 Leitungen)). Diese Amper-Zahl multipliziere ich mit 0,9 (90%), um 10% für andere Verbraucher zu lassen. Die daraus errechnete Zahl setzte ich auf alle drei Leitungen der easee Wallbox.
alias: Solar Charge Control
description: Calculate Solar Charging
mode: single
trigger:
- platform: time_pattern
minutes: /1
condition:
- condition: numeric_state
entity_id: sensor.solaredge_current_power
above: "5000"
action:
- service: easee.set_charger_circuit_dynamic_limit
data:
charger_id: EHK9LG72
currentP1: >-
{{ ((states('sensor.solaredge_current_power') | float) /(230*3) * 0.9) }}
currentP2: >-
{{ ((states('sensor.solaredge_current_power') | float) /(230*3) * 0.9) }}
currentP3: >-
{{ ((states('sensor.solaredge_current_power') | float) /(230*3) * 0.9) }}
Laden stoppen, sobald nicht genug Leistung von der Photovoltaik Anlage kommt
Wenn die Photovoltaik Anlage nicht genug Leistung abgibt, um das Auto mit mindesten 3x 5 Ampere zu laden, setze ich einfach alle 3 Leitungen auf Null (0). Deshalb habe ich eine zweite Automatisierung erstellt, die ich bei Bedarf separat deaktivieren kann. Wenn die Produktion in Watt unter 5KW (4999 Watt) fällt, wird die folgende Automatisierung ausgeführt. Folgen Sie den obigen Schritten, fügen Sie diesen YAML-Code ein und passen Sie die charger_id wieder an:
alias: Solar Charge Disable at low power
description: Disable Charging on Low Solar Power
mode: single
trigger:
- platform: time_pattern
minutes: "/1"
condition:
- condition: numeric_state
entity_id: sensor.solaredge_current_power
below: "4999"
action:
- service: easee.set_charger_circuit_dynamic_limit
data:
charger_id: 123456
currentP1: 0
currentP2: 0
currentP3: 0
Zusammenfassung
Hierbei handelt es sich um eine ganz einfach Lösung, welche keine weiteren Vebraucher beachtet. Da wir noch keine solchen Verbraucher haben, recht es für uns im Moment.
Sobald bisschen mehr Zeit dafür da ist, werde ich die Automatisierungen etwas ausbauen, damit sie den wirklich unabhängig von der easee Wallbox übrigen Strom nur nutzt und damit weniger Strom aus dem öffentlichen Stormnetz zieht.
Englishe Version (Kurzfassung) von diesem Beitrag auf GitHub: https://github.com/fondberg/easee_hass/issues/181#issuecomment-1224112139
Ich baue gerade etwas ähnliches (auch mit Solaredge, Easee und HA), habe aber noch einen Vorteil den du sicherlich auch leicht einbauen kannst: Einen Messkopf auf dem Stromzähler. Der kann sekundengenau melden, ob gerade Strom eingespeist oder verbraucht wird (und wieviel). Damit lässt sich die Steuerung noch feingranularer abbilden, da 15min auf der Solaredge API arg lang sind.
Der Messkopf hängt per USB am Home Server und meldet die Werte unter anderem in Home Assistant.
Und noch ein zweiter Gedanke: Je nach SolarEdge Wechselrichter kannst du die lokale API aktivieren, die du viel öfter pollen kannst mittels Modbus/TCP. Dafür gibt es auch eine gute Home Assistant Integration: https://github.com/WillCodeForCats/solaredge-modbus-multi
Ich habe das hier aufdokumentiert: https://github.com/Benny-Git/homeserver/blob/master/misc/solaredge.md
Hallo Benny,
vielen Dank für die tollen Informationen. Soweit habe ich ehrlich gesagt nicht geschaut bzw. dieses Modul nicht gefunden. Das werde ich aber jetzt nachhholen, da die 15 Minuten doch ein recht große Zeitspanne sind und eine Steuerung damit schlecht umzusetzen geht.
Gruß, Konstantin
Moin zusammen,
@Benny hast du die Automation wie geplant umgesetzt ?
Würde das auch gerne so lösen 🙂
Moin Konstantin,
sehe ich es richtig, wenn ich einen Sensor habe der den aktuellen Überschuss wieder gibt und es wie folgt umschreibe, das er nur noch den Überschuss ins Auto gibt:
LADEN:
currentP1: >-
{{ ((states(’sensor.überschuss‘) | float) /(230*3) }}
currentP2: >-
{{ ((states(’sensor.überschuss‘) | float) /(230*3) }}
currentP3: >-
{{ ((states(’sensor.überschuss‘) | float) /(230*3) }}
ABSCHALTEN:
– condition: numeric_state
entity_id: sensor.überschuss
below: „xxx“
Hallo Yves,
vielen Dank für deine Kommentare. So ungefähr kannst du es machen. Du kannst auch den Überschuss berechnen, dann musst du aber auch bedenken, wieviel du in die Wallbox einspielst und wieviel dann am Ende wirklich übrig ist, weil das Einspeisen ja automatisch einen zusätzlichen Verbrauch vom Überschuss verursacht.
Ich wollte das auch mal mit den Hinweisen von Benny weiter entwickeln. Leider fehlt mir die liebe Zeit zu, um das zu machen bzw. auch der wirkliche Bedarf dafür.
Gruß, Konstantin
Wenn ich das so bei mir konfiguriere, erhalte ich in der Easee App ständig die Meldung „Warten auf Smart charging“. Was mache ich falsch? Muss ich hier noch einen bestimmten Betreiber bei der Easee App auswählen? Derzeit hab ich Easee ausgewählt. Hatte auch noch nie einen anderen.
Ich bekomme diese Meldung auch, wenn ich „Set circuit dynamic limit“ auf feste Werte (ohne Berechnung) einstelle.
Habe hierzu bisher leider keine sinnvolle Antwort gefunden. 🙁
Hallo Johannes,
die Easee App ist unabhägng von der Home Assistant Steuerung. Man kann aber dann natürlich über die Easee App nachvollziehen, was gerade passiert. Ich musste keinen anderen Betreiber einstellen/auswählen, da die hier beschriebene Steuerung über die Easee API (Schnittstelle) erfolgt und somit direkt über Easee zu der Wallbox.
Versuch das mal:
– Lässt sich der Status der Easee Wallbox über Home Assistant auselesen (Ladestatus etc.)?
– Es kann auch sein, dass nicht genug Strom aktiviert wird und das Auto erst gar nicht anfängt zu laden. Den Fehler hatte ich auch. Versuch einfach mal die maximale Leistung einzustellen bzw. über 8KW.
– Suche im Bugtracker, ob du vielleicht ein Hinweis auf dein Problem findest: https://github.com/nordicopen/easee_hass/issues
Versuch bitte dein Problem detailierter oder noch einmal zu beschreiben, wenn meine Tipps dir nicht geholfen haben. Vielleicht habe ich dann einen hilfreicheren/direkten Tipp für dich.
Gruß, Konstantin
Leider scheint hier ein richtiges Durcheinander zu sein.
Wäre es nicht sinnvoll einmal eine Schritt-für-Schritt-Anleitung zusammen zu stellen, in der jeder Punkt kurz beschrieben und wenn nötig auch mit Screenshots versehen wird.
Ich bin völliger Laie hier. Bekanntlich sind gutbeschriebene Anleitungen, mit denen dann auch ausprobiert werden kann, der einzige Weg zum Erfolg.
Ist es denn möglich die Daten von der Photovoltaikanlage auch über OPENDTU hier verwenden bzw. einspielen ? (ich habe leider keinen Sensor von Solaredge, sondern einen Wechselrichter von Hoymiles)
Der Weg zur Steuerung der Wallbox ist wohl sehr steinig.
Wir alle wollen doch so schnell wie möglich unsere Wallbox steuern. Deshalb nochmals meine Bitte: Macht eine kurz und bündige Schritt-für-Schritt-Anleitung !!
Danke
Hallo Klaus,
da die meisten Anlagen und Häuser (zusätzliche Verbraucher) unterschiedlich sind, habe ich eine Grundannahme getroffen, diese so gut wie möglich beschrieben und dann hier veröffentlicht. Für mich war das die beste Lösung für eine Anleitung.
Jeder kann selber entscheiden, wie er was steuert. Es sollte als Verständishilfe dienen, um dann eine eigene für sich passende Lösung zu bauen. Diese Lösung ist keinesfalls vollständig (siehe Beschreibung von Einschränkungen).
Nach meiner Einschätzung ist Home Assistant ein komplexes und vielseitiges System. Es bedarf viel Wissen drum herum. Wenn man es einfach nach „Schritt für Schritt Anleitung“ verwendet, dann wird es aus meiner Sicht für die meisten nicht funktionieren – so habe ich es zumindest empfunden und musste mich mehrere Tage lang einlesen und einarbeiten, bevor ich diese Lösung selber erstellt, dann beschrieben, getestet und veröffentlich habe.
Vielleicht schaffst du eine bessere Lösung und veröffentlichst es irgendwo für die Nachwelt. Das würde uns allen weiter hehlfen.
Gruß, Konstantin