Ladeleistung über die easee Wallbox in Verbindung mit SolarEdge Wechselrichter über Home Assistant steuern

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 viel besser. 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

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:

  1. Einstellungen
  2. Automatisierungen und Szenen
  3. Automatisierung erstellen
  4. Mit einer leeren Automatisierung starten
  5. Oben, rechts in der Ecke auf die drei vertikalen Punkte gehen
  6. „Als YAML bearbeiten“ auswählen
  7. Die Automatisierung in YAML (siehe weiter unten) einfügen
  8. charger_id (ID von der easee Wallbox ersetzen)
  9. 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

7 Gedanken zu „Ladeleistung über die easee Wallbox in Verbindung mit SolarEdge Wechselrichter über Home Assistant steuern

  1. 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.

  2. 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

  3. 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“

  4. 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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:

Informationspflicht

Durch Abschicken des Formulares wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.