Skip to content

Energiegemeinschaft

etreml edited this page Oct 14, 2024 · 22 revisions

Einleitung

In diesem Beitrag möchte ich grob erklären, wie ich es geschafft habe mein Auto mittels des Überschusses aus einer Energiegemeinschaft zu laden. Es gibt mehrere Wege dies zu tun. Manche werden wohl technisch ausgereifter sein. Ich hab mir halt mit Freund Google und Hilfe aus dem Forum das zusammen gebastelt.

Auch möchte ich hier nicht erklären wie eine Energiegemeinschaft gegründet wird. Eines sei aber noch erwähnt: Es gibt unterschiedliche Methoden der Stromaufteilung (dynamisch und statisch). Ich habe in meinem Fall die statische Methode und hier auch den einfachsten Fall, mit einem Erzeuger und einem Teilnehmer.

Die Hardware

  • Der Erzeuger hat einen Huawei SUN2000 Wechselrichter mit WLAN Dongle
  • Die Wallbox ist eine go-e Charger Gemini
  • Der Abnehmer hat einen Smart Meter vom Netzbetreiber, es wurde aber noch einen Shelly Pro3EM zusätzlich installiert
  • evcc läuft auf einem Raspberry Pi 5 in einem Docker Container
  • Beim Erzeuger gibt es noch einen Raspberry Pi 4 (für VPN und dynamischen DNS).

Das Netzwerk

Im Normalfall hat man alle für evcc notwendigen Komponenten im Haus bzw. im Netzwerk. Dies ist bei einer Energiegemeinschaft nicht der Fall. Darum muss man irgendwie dafür sorgen, dass das evcc beim Abnehmer diese Daten bekommt. In diesem Fall wurde es mittels VPN gelöst. Das schaut dann vereinfacht so aus:

evcc_vpn

Die VPN-Verbindung wird mittels WireGuard hergestellt. Daher wird beim Erzeuger auch einen Raspberry Pi benötigt. Damit beide Raspberry Pi mit einem Namen erreichbar sind, wird Duck DNS verwendet.

Die virtuelle PV-Anlage

Da der Abnehmer keine PV-Anlage hat, muss man sich diese zusammenbauen. Das geht relativ einfach:

Import/Export Erzeuger * -1 = Import/Export Abnehmer

Das schaut dann so aus:

meters:
- name: virtual_PV
  type: custom
  power:
    source: modbus
    id: 1
    uri: 192.168.3.12:502
    timeout: 15s
    connectdelay: 1s
    register:
      address: 37113 # Grid import export power
      type: holding
      decode: int32nan
    scale: 1 #im Template ist -1, das wurde auf +1 geändert

Ich habe mir dazu das Template huawei-dongle-powersensor angeschaut. Die Adresse 37113 ist Import/Export und was beim Erzeuger ein Export ist, ist bei Abnehmer ein Import. Daher wurde die Scale von -1 auf +1 geändert.

Kleine Sidenote: evcc ist hier etwas stur. Wenn ich die YAML Datei geändert habe, hat es ein paar Neustarts, Browser Neustart, etwas Vodoo und einen gelegentlichen Regentanz benötigt bis sich die Änderung ausgewirkt hat. Das hat mich etwas zur Verzweiflung gebracht. Hier bitte also etwas Geduld mitnehmen.

Das virtuelle Grid beim Abnehmer

In meinem Fall habe ich noch eine Spezialkonstruktion, da der Shelly an der falschen Stelle im Stromnetz montiert worden ist und die Wallbox nicht mit misst:

Verbrauch Abnehmer + Verbrauch Wallbox + Import/Export Erzeuger = Import/Export Abnehmer

Das schaut dann in der YAML Datei so aus:

meters:
 
- name: grid_wohnung
  type: custom
  power:
    source: calc
    add:

      #Shelly
    - source: http
      uri: http://192.168.0.10/rpc/EM.GetStatus?id=0
      jq: .total_act_power
      scale: 1

      #go-e
    - source: http
      uri: http://192.168.0.11/api/status
      jq: .nrg.[11]
      scale: 1

      #virtual PV
    - source: modbus
      id: 1
      uri: 192.168.3.12:502
      timeout: 15s
      connectdelay: 1s
      register:
        address: 37113 # Grid import export power
        type: holding
        decode: int32nan
      scale: -1

Shelly stellt einen API Call zur Verfügung, der ein JSON liefert. Der wird mittels dem http-Plugin gelesen und dann wird über die jq-Abfrage das Element „total_act_power“ abgefragt.

go-e bietet ebenfalls eine Status API Call mit einem JSON an. Hier wird das 11te Feld aus dem Element „nrg“ benötigt.

Und last but not least nochmal die Import/Export-Daten der Erzeugungsanlage.

Wenn der Erzeuger einen Netzbezug hat, dann liefert der Wert einen negativen Wert. evcc erzeugt dann eine Warnung und wandelt den Wert in 0 um, was auch wieder in Ordnung ist.

Das Calc-Plugin hat mir sehr viel Kopfzerbrechen gemacht, da eben die Ergebnisse etwas auf sich warten haben lassen bzw. bis ich den Dreh raus hatte, was alles neu gestartet werden muss bis ich im Browser die richtigen Ergebnisse sehe.

Mein Dank geht auch noch an VolkerK62, der mir dabei sehr geholfen hat.

Die Site

Zur Vollständigkeit noch die site-Konfiguration in der YAML-Datei:

site:
  title: meine PV
  meters:
    grid: grid_wohnung
    pv:
    - virtual_PV