SMA Energy Meter auswerten

Endlich habe ich es geschafft die Werte des Ende letzten Jahres eingebauten SMA Energy Meter auszuwerten. Dabei gab es gleich zwei Hürden zu nehmen: Zeit und Unwissen 🙂 Wobei das Unwissen die benötigte Zeit in unbekannte Dimensionen trieb. Denn das Programm zur Auswertung der Datenpakete des SMA EM ist in C geschrieben und bis dato wusste ich gerade mal, dass C eine Programmiersprache ist. Dank vieler Google Suchen und Forenpostings konnten die Hürden nach und nach genommen werden und das fertige Produkt erfreut den Frickler aus dem Heim und Hobbybereich – mich 🙂

Das SMA Energy Meter kann sich jeder Haus- und Wohnungsbesitzer in seinen Sicherungsschrank einbauen lassen. Es gibt hier keine zwingende Verbindung mit einer Photovoltaikanlage. Logischerweise wird dann nur der importierte Strom ausgewertet. Für Android und iOS gibt es Apps um sich die Daten in Realtime anzeigen zu lassen.

Wie sieht jetzt das Ergebnis meiner Bastelei aus?

Auswertung der 3 Phasen im Haus

Auswertung Last der 3 Phasen im Haus (15 Minuten)

Der erste Teil visualisiert die Last auf den 3 Phasen im Haus. Für jede Phase (L1, L2 und L3) wird ermittelt, ob Strom von EVU gezogen wird (Import) oder ob Strom „übrig“ ist und zum EVU exportiert wird (Export). Übrig bedeutet, von der Solaranlage erzeugter Strom abzüglich Eigenverbrauch.

Auswertung Import, Export und PV Leistung

Auswertung Import, Export und Solarertrag (15 Minuten)

Aufsummiert ergibt sich dieses Bild. Zusätzlich wird noch die gerade gelieferte Leistung der PV Anlage angezeigt. Die grafische Aufarbeitung übernimmt Highcharts.

Was wurde alles gemacht um das Ergebnis zu erhalten?
1. Ein Programm in C geschrieben, dass die Multicast Pakete vom SMA Energy Meter aufnimmt und in eine SQLite Datenbank schreibt
2. Installation und Konfiguration von SBFSpot, ein Programm zur Auswertung von SMA Wechselrichtern. Die gewonnenen Daten werden ebenfalls in eine SQLite DB geschrieben
3. Erstellung einer Webseite, die die gespeicherten Daten aus der Datenbank ausliest und grafisch darstellt.

Getestet wurde das meiste davon auf einem Raspberry Pi2 (die Quadcore Variante). Das Livesystem ist ein Ubuntu Linux unter ESXi. Der Pollingintervall beträgt 1 Minute. Auf dem Pi hatte ich auch mit 5 Sekunden experimentiert. Lässt man sich dann aber mehrere Tage gleichzeitig anzeigen, dauert die Darstellung von 100.000 Datensätzen recht lange.

ToDo: Optimierung der Webseite um z.B. einzelne Tage auszuwerten. Im Moment kann man sich nur die letzten XYZ Minuten anzeigen lassen.

Mein Dank geht an die Helfer aus dem Computerbase Unterforum für Programmierung, Fefe, Jürgen Wolf für das Buch Linux-Unix Programmierung und EB-Systeme für die Protokollanalyse.

Update: Livedaten

Solarertrag, Export und Import

Solarertrag, Export und Import (12 Stunden)

Kommentar verfassen