Energiemonitoring mit Loxone und SMA

Wer meinen Blog verfolgt, hat mitbekommen, dass ich im September über das KfW-Förderprogamm 442 geschrieben habe. Es ging um die Beantragung einer Förderung für Photovoltaik-Anlagen. Damit bin ich überhaupt nur in Kontakt gekommen, weil wir selbst eine PV-Anlage installieren lassen wollten. Das war dann im November auch der Fall, und seitdem produzieren wir je nach Witterung eigenen Sonnenstrom. In diesem Artikel beschreibe ich, wie die eigene PV-Anlage einen ganz neuen Blick auf Energieverbrauch und -erzeugung eröffnet, wie man als Nerd mit dieser Motivation umgehen kann, und wie ich seitdem meine Energiebilanz verfolge.

TL/DR: Wer einfach nur wissen möchte, wie man möglichst einfach die Daten aus einem SMA TriPower Smart Wechselrichter mit einem Loxone Miniserver abrufen kann: Per Browser am Wechselrichter einloggen, im Benutzermenü den Smart Inverter Screen aktivieren, damit die Messwerte direkt auf der Starseite sichtbar sind, dann meine Vorlage für den HTTP-Eingang in die Loxone Config importieren und die IP-Adresse anpassen. Zack, feddich: Virtuelle Eingänge!

Die Anlage

Zunächst ein paar Rahmendaten der PV-Anlage in Stichpunkten:

Die App des Herstellers

Im Zuge der Installation der PV-Anlage hat unser Elektriker diese in der Softwarelösung des Herstellers registriert. Das ist in meinem Fall das Sunny Portal von SMA. Zusätzlich gibt es eine App, welche die Daten visualisiert, die die Anlage an das Portal übermittelt. Damit sieht man zu jeder Zeit, wieviel Strom die Anlage gerade produziert, wieviel verbraucht wird, was der Ladezustand der Batterie ist, und viele weitere Details, sowohl aktuell als auch in der Vergangenheit. Und wie alles Neue ist das erst mal unglaublich interessant.

Außerdem schafft diese Transparenz ein größeres Bewusstsein für Energieverbrauch, und zumindest ich wollte die Zahlen immer besser verstehen. Das war der Moment, in dem die App für mich erste Schwächen offenbarte. Da wäre zum Beispiel der Cloud-First-Ansatz: Alle Daten müssen zuerst von meiner Anlage ins Sunny Portal übertragen werden, um dann von dort in meine App zu gelangen, auch wenn sich Wechselrichter, Wallbox und Smartphone im selben lokalen Netz befinden. Dadurch fühlt sich die App träge an. Hin und wieder zeigte sie auch gar keine Werte an, obwohl die Anlage selbst einwandfrei funktionierte.

Außerdem wollte ich meinen Energieverbrauch besser verstehen. Durch Wärmepumpe und Elektroauto gibt es große Verbraucher im und ums Haus, deren Verbrauch ich gerne separat sehen würde. Während das für die Wallbox in der SMA-App noch einigermaßen funktioniert, wenn auch nur im separaten Tab „E-Mobilität“ und nicht im „Dashboard“, hatte ich bei der Wärmepumpe keine Chance. Die hat zwar einen eingebauten Energiezähler, aber der taucht nicht auf der Kompatibilitätsliste von SMA auf und kann damit nicht ins Sunny Portal eingebunden werden.

Lokale Integration: Loxone

Wie ich in anderen Posts schon erwähnt habe, sind viele Aspekte unseres Hauses wie Beleuchtung und Beschattung bereits über Loxone integriert. Der Vorteil ist neben der Flexibilität auch die Tatsache, dass die gesamte Logik lokal abläuft, d.h. von keinem Cloud-Service abhängig ist und durch den direkten Kommunikationsweg auch deutlich reaktiver ist.

Auf der Loxone-Website hatte ich zuvor den Hinweis auf eine Webinar-Aufzeichnung zum Thema Energiemanagement mit Loxone entdeckt. Die Idee dahinter ist einfach erklärt: Man konfiguriert beliebig viele Zählerbausteine, markiert diese entsprechend ihrer Funktion (Netz, PV, Speicher, …) und fügt alle zu einem Energieflussmonitor zusammen. Woher die Daten für die einzelnen Zählerbausteine kommen, ist dabei flexibel und kann durchaus unterschiedlich sein: Es gibt Steckdosen mit Stromzähler vom Hersteller, eine Modbus-Extension für kompatible Zähler anderer Hersteller, sowie zahlreiche Netzwerk-Schnittstellen. Prinzipiell sollte es also möglich sein, die Leistungs- und Zählerdaten meiner PV-Anlage in Loxone zu visualisieren und dann schrittweise weitere Verbraucher „herauszulösen“ und separat darzustellen. Das Projekt war geboren. Erstes Etappenziel (MVP): Die Grundfunktionen des SMA-App Dashboards nachbauen und schauen, wie sich das in der Loxone App „anfühlt“.

Datenquelle: Modbus, SunSpec?

Da Loxone sehr flexibel bei der Wahl der Datenquellen ist, stellt sich zunächst die Frage: Wie kommen die Daten am besten in den Loxone Miniserver? Bisher hatte ich ausschließlich über Portal und App mit meinen SMA-Geräten interagiert. Also musste ich zuerst herausfinden, welche Möglichkeiten es für die lokale Abfrage gibt. Meine Recherchen lieferten immer wieder das Stichwort Modbus bzw. Modbus/TCP. Das sprechen viele Wechselrichter, und die Loxone Library hat sogar eine passende Vorlage für SMA-Wechselrichter. Prima! Dann sollte das doch einfach gehen.

Wer es bis hierhin geschafft hat, wird sich sicher freuen, dass ich die langweiligen Details und Irrwege hier nicht einzeln aufführe. Es sei nur soviel gesagt: Man merkt dem Modbus-Protokoll seinen Ursprung und sein Alter an. Man muss auf sehr niedrigem Abstraktionsgrad mit allerhand Adressen, Registernummern, Byte Order etc. hantieren, was das Protokoll für mich sehr „sperrig“ und nicht besonders einsteigerfreundlich gemacht hat. Zudem war es mir nicht möglich, via Modbus die aktuell produzierte PV-Leistung in Watt abzufragen.

Anscheinend gibt es mit dem SunSpec-Standard sogar eine herstellerunabhängige Schnittstelle für die wichtigsten Kennzahlen, allerdings war mir zu diesem Zeitpunkt die Lust auf Modbus schon vergangen, und die Spezifikationsdokumente auf der Website haben bei mir mehr Fragen aufgeworfen als beantwortet. Wer wirklich in diese Richtung gehen möchte, sollte sich vermutlich eher von Open-Source-Lösungen wie EVCC inspirieren lassen als von der offiziellen Spezifikation.

Meine Lösung: Vorlage für Loxone HTTP-Eingang

Am Ende bin ich über einen Post1 im Photovoltaikforum darauf gekommen, die Daten doch einfach via HTTP vom Web Interface des Wechselrichters abzurufen. Dieser hat eine Funktion namens „Smart Inverter Screen“, mit der man die aktuellen Kennzahlen ohne Login direkt auf der Startseite sehen kann, und die fragt einfach in kurzen Abständen eine einzige JSON-Datei ab, in der sämtliche Werte enthalten sind. Beste Voraussetzung für eine Integration.

Da die JSON-Datei eine Vielzahl von Messwerten enthält, die jeweils über ihre internen IDs referenziert werden, war die Abbildung nicht ganz intuitiv. Aber nach dem Login werden die Daten in einer Tabelle angezeigt, die zusätzlich zu den IDs auch kurze Titel, Beschreibungen und Einheiten enthalten. Aus dieser Tabelle und dem JSON habe ich mit ein paar Zeilen Code eine Vorlagendatei für den Loxone HTTP Eingang erzeugt, die sämtliche numerischen Werte mit ihren korrekten Einheiten im Miniserver verfügbar macht. Diese kann hier heruntergeladen werden:

Nach dem Download einfach auspacken, und in der Loxone Config importieren. Dann stehen alle Werte als virtuelle Eingänge zur Verfügung.

Zwischenergebnis

Mit den Messwerten als Eingängen konnte ich die betreffenden Zähler für die PV-Erzeugung, Netzbezug und -einspeisung, sowie den Batteriespeicher anlegen und im Energieflussmonitor2 zusammenfassen:

Fußnoten

  1. Den genauen Post kann ich leider nicht mehr rekonstruieren. ↩︎
  2. Es war am späten Abend eines trüben Tages Anfang Januar – daher die „langweiligen“ Zahlen. ↩︎

4 Kommentare zu „Energiemonitoring mit Loxone und SMA

Hinterlasse einen Kommentar

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..