PV Einsparung berechnen

From Torben's Wiki

Hier eine Anleitung wie man die Einsparung durch eine PV Anlage zB. Balkonkraftwerk berechnen kann.

Voraussetzung

  • Datenreihe 1: Stromzähler (Verbrauch-Einspeisung) in Watt (positiv für Bezug, negativ für Einspeisung)
  • Datenreihe 2: PV Stromerzeugung in Watt (positive Werte)
  • bevorzugt jeweils in 1-min Taktung (ggf. gemittelt aus höherer Frequenz)

Meine Hardware

  • Stromzähler Iskra MT681 mit Hichi IR Sensor zum Auslesen, Anleitung siehe [1]
  • Shelly Plug S, Anleitung zum Auslesen siehe Shelly

Meine Software

  • InfluxDB auf Raspberry Pi 3B
  • Grafana zur Visualisierung
  • Python Pandas zur Interpolation von fehlenden Messwerten

Berechnung

Im folgenden steht DH für Datenreihe

  1. Stromzähler (DR1) zeigt die die Differenz aus Verbrauch - PV (DR2)
  2. -> Verbrauch (=DR3) = Stromzähler (DR1) + PV (DR2)
  3. Da der Verbrauch nicht negativ sein kann, es aber aufgrund zeitlichem Versatz der Messwerte dazu kommen kann, ersetze ich hier die negativen Werte durch 0
  4. Die Einsparungsdatenreihe in Watt (Minuten-gemittelt) (=DR4) ist nun das Minimum aus Verbrauch (DR3) und PV (DR2)
  5. Die Einsparungsdatenreihe in kWh pro Minute (=DR5) ist dann DR4 / 60 / 1000
  6. Diese kann man dann beliebig aufsummieren, zB pro Stunde, Tag, Woche...

Lücken schließen aus kWh Reihe

Bei mir fehlen immer mal wieder einzelne Messwerte, da die WLAN Verbindung recht weit ist. Diese lassen sich so interpolieren:

Neben den Ist-Werten (in Watt) messe ich auch die Zählerstände (in kWh). Aus den minütlichen Zählerständen kann man die mittlere Leistung (in Watt) wie folgt berechnen:

für jeden Datenpunkt berechne ich

  1. Delta der Zeit (Dt) zum letzten Messwert in Sekunden (idealerweise 60s)
  2. Delta des Zählerstands (D_kWh) zum letzten Messwert in kWh
  3. Die berechnete mittlere Leistung (P_calc) ist nun P_calc = D_kWh / Dt * 1000 * 3600
  4. Werden nur 3 oder weniger Kommastellen in der kWh Daten ausgegeben, so kommt es hier zu einer P_calc=60W sobald sich D_kWh um 0.001kWh ändert. Daher empfiehlt es sich einen gleitenden Durchschnitt anzuwenden. Ich verwende ein Mittel über 9 Messwerte (Minuten)
  5. Fügt man nun die fehlenden Minuten in die Datenreihe ein, so kann man die fehlenden Ist-Werkt durch P_calc des nächstes vorhandenen Messwerts auffüllen (bfill in Python Pandas)

Für meinen Stromzähler MT681, der neben der Ist-Leistung in Watt zwei separate Datenreihen kWh+ und kWh- liefert, verwende ich D_kWh = D_kWh+ - D_kWh-