Aufbereitung PV Daten

von

in

Nachdem die PV Anlage offiziell durch Austausch des Stromzählers in Betrieb gegangen ist (jetzt läuft auch der Zähler für den eingespeisten Überschuss), habe ich mich näher mit den gesammelten Daten des Wechselrichters befasst. Standardmäßig werden 12+121 Werte alle 5 Minuten an ein China Portal (Daten werden allerdings ausserhalb Chinas gehosted) namens SOLARMAN Smart geschickt. Nervig daran ist vor allem, daß Änderungen an der Datenauswahl nicht gespeichert werden, d.h. bei jedem neuen Aufruf oder Aktualisierung ist die Ansicht wieder zurück auf Default. Deshalb habe ich daran gedacht, auf das Portal zu verzichten und die Daten selbst per Modbus auszulesen. Bevor ich diesen Schritt gehe, habe ich mir ein paar Tools angesehen.

Home Assistant nutze ich bereits für den Eastron 3-Phasen Zähler, der gut 40(!) Werte zurückgibt. Relevant davon sind genau 3, nämlich Summe exportierte kWh, Summe importierte kWh und aktuelle Leistung. Damit kann man den Stromzähler abgleichen, der sowieso die Wahrheit (weil offiziell geeicht und geldrelevant) verkündet, aber nur mit Krücken (so vom Staat gewollt) automatisch ausgelesen werden kann. Der Eastron zeigt zuviel importierten Strom an (schwächelt bei geringen Leistungen), stimmt aber recht gut beim Export. An sich ist der Eastron aber überflüssig, weil viele seiner Werte mit 3 induktiven Sensoren ebenfalls über den Wechselrichter geliefert werden und die analog schneller die Strominfo an den Wechselrichter liefern als der Modbus. Für Home Assistant gibt es Plugins, die mit Deye funktionieren sollten, die ich aber nicht zum Laufen gebracht habe.

Der für IoT und Home Automation gebräuchliche manuelle Weg geht über eine Kette von Tools von der Erfassung und Bearbeitung über Speicherung zur Darstellung. Von Modbus oder MQQT werden die (relevanten) Daten mit Node-RED selektiert und normiert und dann in eine Datenbank speziell für Zeitreihen, z.B. InfluxDB, gepumpt. Die werden schließlich von einem Grafiktool, z.B. Grafana, ausgelesen und dargestellt. Hier kann man sich am Ende also eigene Cockpits basteln, die dann dynamisch die interessanten Daten anzeigen.

Mangels Online Auslesen habe ich erstmal damit angefangen, die Daten aus dem SOLARMAN Portal zu exportieren. Hier werden Excel Dateien erzeugt (maximal 30 Tage, aber auf alle Zeiten kann zugegriffen werden). Das ist natürlich das dümmste Datenformat hierfür und Excel ist als Darstellungstool für IoT Daten ziemlich ungeeignet. Zuerst müssen die Daten also als .CSV exportiert werden. Unsichtbare Sonderzeichen in den Spaltenüberschriften, Mischung aus Zahlen mit und ohne Dezimalpunkt und „–“ statt 0 sorgen für späteren Verdruss und müssen vorher bereinigt werden.

Bei früheren Tests habe ich mit Containern für die einzelnen Tools gespielt, die haben aber nie so funktioniert wie in den Youtube Videos. Also wurde jetzt klassisch auf Ubuntu LTS Server installiert. Datenbank ist InfluxDB und Visualisierung ist Grafana. Beides war auf Anhieb im Browser erreichbar. Für InfluxDB wird noch ein CLI benötigt, das nach der Installation Benutzerrechte braucht (Installationsanleitung sollte schon bis zum Ende gelesen werden).

Um meine .CSV Daten in die Datenbank zu pumpen, habe ich Telegraf genommen. Das hat u.a. ein Modbus Plugin, könnte ich also auch für den Eastron oder später Deye nutzen. Es hat schon einige Versuche gekostet, die .CSV so aufzubereiten, daß sie von Telegraf korrekt gelesen und an InfluxDB geschickt werden. Auf einen Zwischenschritt mit Node-RED habe ich wg. Offline Daten verzichtet. Das könnte aber gute Dienste leisten, falls die Werte mal nicht der Erwartung entsprechen und bereinigt werden müssten. In InfluxDB kann man sich die Daten anschauen, also kann man hier kontrollieren, ob der Import richtig funktioniert hat. Wenn man Telegraf noch sagt, daß es sich am Dateiende beenden soll, sind die Daten in einer Sekunde drin, ansonsten wartet man ewig.

Die Verbindung von Grafana zu InfluxDB war dann hakeliger als erwartet, aber mit der neuen Flux Methode hat es schließlich funktioniert. Mit etwas Probieren ging dann auch die InfluxQL Verbindung per http Header. Nun stehen die Daten des Wechselrichters zur Darstellung und Analyse bereit. Hier zeigt sich, daß der Wechselrichter bessere Werte für Stromimport hat, aber trotzdem über dem Stromzähler liegt (sehr gut). Jetzt bei Sonnenschein sind die Daten nicht ganz so wichtig (Batterie ist morgens auch noch halbvoll), aber später im Jahr kann mal sich schon überlegen, ob man die Waschmaschine und Trockner wirklich schon morgens anschalten will oder ob man wartet, bis die Batterie/Sonne genug liefern kann. Dann zeigt sich auch, ob die Montage an der Fassade den erwarteten Ertrag liefert (also der Alternative Ost-/Weststeildach gemäß der Simulation überlegen ist).

Jedenfalls war die ganze Installation eine nette Beschäftigung. Prinzipiell reicht natürlich das Portal und die Wahrheit liefert sowieso nur der Stromzähler, der Rest ist Kontrollwahn, zumindest bis zur erwarteten Amortisierung, in meinem Fall in 6 Jahren.