Letzte Aktualisierung: 27.09.2023, 12:17:53.
Die Quelltexte, inklusiver aller Datenbankstrukturen und Abfragen sowie das Jupyiter Notebook mit dem diese Seite generiert wurde sind unter Apache 2 License in meinem PV Repository veröffentlicht: michael-simons/pv. Diese Seite dient als kurzer Überblick über unsere Photovoltaikanlage in Aachen. Mit der Planung begannen wir im September 2022, Ende April 2023 speiste der Wechselrichter das erste Mal Strom in den Hauskreislauf und das Stromnetz, Ende Mai habe ich zum ersten Mal sinnvoll bilanzierte Werte aus dem Monitoringdevice auslesen können. Seit Ende Juni haben wir einen 2-Wegezähler und warten darauf, dass wir endlich durch die Einspeisevergütung reich werden ;)
Ursprünglich hatte ich nicht vor, allzu viel Arbeit und Ehrgeiz in die Analyse der Daten der PV-Anlage zu stecken, weder in Charts noch irgendwelche anderen Satellitensoftware. Immerhin hatten wir doch bereits einen Energiemanager mitgekauft, der irgendwann einmal Batterie- und Wallboxsteuerung übernehmen soll. Es stellte sich aber schnell heraus, dass - wie üblich - Smartdevices nicht wirklich smart sind, Konfiguration auch für Profis schwierig ist und am Ende hab ich doch wieder selber etwas gebaut: Das aktuelle Setup liest die Daten des Wechselrichters direkt über SunSpec Modbus aus und schreibt sie in eine DuckDB Datenbank. Den zu diesem Zweck programmierte Logger basiert auf dem Energy systems reading toolkit von Niels Basjes. Bedankt, Niels.
DuckDB ist eine sehr coole In-Prozess Datenbank mit dem Schwerpunkt OLAP. Das Datenbankdesign dieser Anwendung folgt einer Teilmenge des pink database design. Anstatt alle Queries direkt in einer Anwendung zu schreiben (oder gar ein ORM Framework zu nutzen und Statistiken in der Anwendung zu berechnen), habe ich eine ganze handvoll Views erstellt. Diese repräsentieren sozusagen die öffentliche API des Schemas. Sie sind natürlich auch im Repository gespeichert und liegen im Schema-Ordner (Alle Dateien die mit R__
anfangen).
Wir wohnen seit 2010 im selben Ort und unsere Bezugskosten sind bis Ende 2019 mehr oder weniger kontinuierlich, aber vorhersagbar gestiegen. Mit der Pandemie, dem Krieg in der Ukraine, den Kosten des Klimawandels und schlussendlich der daraus steigenden Inflation wurden die Preise danach immer unkalkulierbarer. Langfristig ist unser Ziel, zumindest über einen Teil des Jahres stabile Stromkosten zu haben und dieses Haus nachhaltiger zu bewirtschaften.
Im folgenden ein Diagramm unserer Beschaffungskosten seit 2010.
Während die Menge bezogener Energie über die Jahre verhältnismäßig konst geblieben ist (2018 habe ich angefangen, 100% Remote zu Arbeite und seit ein paar Jahren spielen die Kinder mehr Computer als ich an einem arbeite, aber der Mehrbetrag ist vernachlässigbar). Der Bezugspreis hingegen ist seit 2010 um 75% gestiegen.
Wir haben eine Anlage mit einer Peak-Leistung von 10.53kWp aufgebaut in einer aufgeteilten Ost/West Aufstellung. Ingesamt sind 26 Solarwatt Glass-Glass "Panel Vision AM 4.0" Module mit einem Peak-Output von 405Wp pro Modul verbaut. Alle Module sind "Plus-Auswahl", d.h. 405Wp sind garantiert.
Als Wechselrichter kommt ein Kaco blueplanet 10.0 NX3 M2 zum Einsatz, eines der wenigen Modelle die unser Installateur beziehungsweise Solarwatt liefern konnte. Ebenfalls von Solarwatt stammt der "Energymanager", der ist im ersten Monat soviel "Freude" bereitet hat. Immerhin, die Hotline war bemüht und hilfreich.
Der mögliche Peak-Output von 10.53kWp ist deutlich mehr als wie tatsächlich täglich verbrauchen, aber mit Hinblick auf Autarkie in der Zukunft und weitere Anwendungen, wollten wir lieber sicher gehen. Bis jetzt steht noch offen, ob wir unser mehr als 10 Jahre altes Auto mit einem elektrischen ersetzen oder eine stationäre Batterie, eine Wärmepumpe oder beides kaufen. Auf Mastodon bekamen wir schon den Tipp, die Datensammlung und Analyse wie her fortzusetzen und insbesondere auf die Einspeisung zwischen Oktober und Februar zu achten: Größer als diese Menge braucht eine Batterie nicht sein. Ich finde den Tipp super, da ich gewohnheitsmässig eher zur Überdimensionierung neige. Bis dahin gibt es die bisherigen Ergebnisse:
Aktuell liegen Messungen vom 20.04.2023 bis zum 26.09.2023 vor. In dieser Zeit haben wir folgende Werte über alles ermittelt:
Schlechtester Tag | Bester Tag | Durchschnitt | Median | Gesamtproduktion | Ertrag (kWh/kWp) | |
---|---|---|---|---|---|---|
0 | 2.14 | 63.46 | 39.41 | 39.47 | 6266.0 | 595.06 |
mit durschnittlichen Werten pro Monat wie folgt:
Die Erzeugung heruntergebrochen auf einzelne Jahre:
Schlechtester Tag | Bester Tag | Durchschnitt | Median | Gesamtproduktion | Ertrag (kWh/kWp) | |
---|---|---|---|---|---|---|
Jahr | ||||||
2023 | 2.14 | 63.46 | 39.41 | 39.47 | 6266.0 | 595.06 |
Die Darstellung der wöchentlichen Erzeugung berücksichtigt Jahreszeiten und tägliches Wetter etwas besser als eine pauschale Darstellung der durchschnittlichen Erzeugung pro Monat:
Die Wahrscheinlichkeit, dass wir jemals an die tatsächlich installierte Peak-Leistung herankommen werden, ist denkbar gering. Der bisher höchste, gemessene Wert in einer Viertelstunde waren 7089.0W. Viel interessanter - und relevanter - ist jedoch die Tatsache, dass wir mit der gewählten Dachbelegung den ganzen Tag über einen brauchbaren Output habe. Der Wechselrichter startet zeitnah mit Sonnenaufgang und bereits im Mai wurde im Schnitt noch um 18:00 Uhr herum genügend Energie zum Kochen produziert. Das kann als Durchschnittswert pro Stunde visualisiert werden:
Die Werte für den Tag mit der bisherigen höchsten Erzeugung sehen so aus:
Die orangene Kurve gibt den Sonnenverlauf am 03.06.2023 wieder, der rote Balken markiert die Zeit von Anfang der Morgendämmerung bis zum Ende des Sonnenaufgangs an diesem Tag, der gelbe eine Phase von 10 Minuten um den wahren Mittag (dem Sonnenhöchststand) herum und der blaue schlussendlich die Zeit vom Sonnenuntergang bis Ende der Abenddämmerung.
Ich mochte die Visualisierung von Oli im Beitrag "Ein Jahr Photovoltaik: Tolle Dinge, die man mit SQL machen kann" so sehr, dass ich sie auch haben wollte. Und zwar die durchschnittliche Erzeugung pro Monat und Stunden, quasi die Kombination der beiden oberen Balkendiagramme. Diese Heatmap sieht tatsächlich nicht nur schön aus, sie ist auch informativ und gibt direkt eine Idee, zu welchem Teil des Jahres der Eigennutzungsgrad sehr hoch sein wird und wann nicht.
DuckDB unterstützt ebenfalls ein PIVOT
-Statement hat (siehe average_production_per_month_and_hour
) und Pandas kann ganz einfach eine Tabelle mit den Farbkarten aus Matplotlib einfärben:
April | Mai | Juni | Juli | August | September | |
---|---|---|---|---|---|---|
Stunde | ||||||
0 | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh |
1 | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh |
2 | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh |
3 | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh |
4 | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh |
5 | 0.02 Wh | 4.99 Wh | 22.58 Wh | 1.93 Wh | 0.02 Wh | 0.00 Wh |
6 | 48.00 Wh | 388.44 Wh | 625.08 Wh | 344.66 Wh | 30.89 Wh | 0.00 Wh |
7 | 566.21 Wh | 1.31 kWh | 1.71 kWh | 1.15 kWh | 635.88 Wh | 347.35 Wh |
8 | 1.37 kWh | 2.25 kWh | 2.77 kWh | 1.96 kWh | 1.66 kWh | 1.85 kWh |
9 | 2.18 kWh | 3.10 kWh | 3.63 kWh | 2.86 kWh | 2.61 kWh | 3.06 kWh |
10 | 2.31 kWh | 3.78 kWh | 4.36 kWh | 3.42 kWh | 3.08 kWh | 3.86 kWh |
11 | 2.28 kWh | 4.04 kWh | 4.80 kWh | 3.95 kWh | 3.51 kWh | 4.25 kWh |
12 | 3.14 kWh | 4.42 kWh | 5.29 kWh | 4.36 kWh | 3.58 kWh | 4.28 kWh |
13 | 3.13 kWh | 4.49 kWh | 5.39 kWh | 4.11 kWh | 3.68 kWh | 4.07 kWh |
14 | 2.89 kWh | 4.35 kWh | 5.14 kWh | 4.22 kWh | 3.44 kWh | 3.79 kWh |
15 | 2.82 kWh | 3.93 kWh | 4.79 kWh | 3.80 kWh | 3.23 kWh | 3.21 kWh |
16 | 1.87 kWh | 3.21 kWh | 3.93 kWh | 3.24 kWh | 2.86 kWh | 2.38 kWh |
17 | 1.41 kWh | 2.58 kWh | 2.96 kWh | 2.62 kWh | 2.17 kWh | 1.78 kWh |
18 | 1.05 kWh | 1.94 kWh | 2.63 kWh | 1.97 kWh | 1.72 kWh | 1.12 kWh |
19 | 551.79 Wh | 1.31 kWh | 1.90 kWh | 1.34 kWh | 1.10 kWh | 244.26 Wh |
20 | 76.69 Wh | 485.74 Wh | 1.02 kWh | 674.25 Wh | 189.52 Wh | 3.72 Wh |
21 | 0.00 Wh | 19.48 Wh | 85.96 Wh | 46.49 Wh | 0.82 Wh | 0.03 Wh |
22 | 0.00 Wh | 0.07 Wh | 0.66 Wh | 0.48 Wh | 0.00 Wh | 0.00 Wh |
23 | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh | 0.00 Wh |
Die folgende Visualisierung zeigt ein Sonnenstandverlaufsdiagramm für den Ort unseres Hauses in Aachen. Zwei Dinge werden sehr schnell deutlich: Wir werden nicht viel Ertrag in den Wintermonaten haben, die Sonne wird zwischen 9 und 17 Uhr in einem für uns ungünstigen Winkel scheinen. Am kürzesten Tag des Jahres steht die Sonne am wahren Mittag genauso hoch wie sie es am längsten Tag des Jahres bereits um 8 Uhr morgens tut.
In der Darstellung befinden sich 4 Kurven: der Verlauf der Sonnen zur Winter- und Sommersonnenwende, der Verlauf am bisher produktivsten Tag sowie in Grau ein Tag zwischen den Sonnenwendtagen als Orientierung. Die hübschen, 8-förmigen Schleifen heissen Analemma. Diese Figur entsteht, wenn der Sonnenverlauf von einem fixen Punkt auf der Erde über ein Jahr täglich zur selben Zeit beobachten. Durch die Analemma können die Uhrzeiten auf den Verlaufskurven miteinander in Verbindung gebracht werden.