Wer eine Solaranlage (Solar steht in diesem Fall für Solarthermie, d.h. dem Erzeugen von Warmwasser über Sonnenenergie), genauer Photovoltaik- oder PV-Anlage, sein Eigen nennen darf, ist im Regelfall auch an der Leistung und folglich der Eigenstromersparnis oder auch dem Leistungsertrag gemäß Einspeisungsvertrag interessiert.

Update September 2023

Nachdem wir einige Probleme mit dem Adapter in ioBroker hatten, haben wir die SolarEdge-API direkt über ein Blockly-Script eingebunden. Anleitung in diesem Artikel.

Es gibt unzählige Anleitungen im Internet, die sich mit den unterschiedlichsten Wechselrichter unterschiedlichster Marken und deren Einbindung in das Smarthome beschäftigen und auseinandersetzen. Eins vorweg: Dieser Artikel beschreibt einen pragmatischen Ansatz mit möglichst wenig technischer Unterstützung bzw. weiteren Tools zusätzlich zu ioBroker, eine gewissen Ungenauigkeit sollte man akzeptieren. Wer es ganz genau wissen und dokumentieren möchte, der kommt um eine Anbindung via Modbus und auch Visualisierungsseite ohne Flot- oder Grafana-Diagramme aus den Daten einer influxDB nicht herum (beschrieben z.B. hier im ioBroker-Forum).

Unser Plan: Wir möchten den digitalen Stromzähler im Keller auslesen, um genau zu sein die aktuell bezogene bzw. eingespeiste Leistung. Diesen Wert speichern wir über die Objekte in ioBroker ab und nutzen die historischen Werte für eine Visualisierung in VIS, um Strombezug oder Einspeisung in einer Graph-Darstellung farblich zu markieren. Außerdem möchten wir die produzierte Leistung der Anlage Tages, Monats- und Jahresaktuell auflisten. Hierzu nutzen wir die Werte der Anlage, die das Hersteller-eigene Portal des Wechselrichters zur Verfügung stellt. In unserem Fall ein Wechselrichter von Solaredge mit dem entsprechenden ioBroker-Adapter dafür.



Fangen wir mit Schritt 1 an: Zugriff auf das Solaredge-Portal mit dem Solaredge-Adpater

Der Adapter wird ganz klassisch über die Adapter-Liste installiert. Für die Konfiguration benötigen wir einen API-Key der Solaredge-Plattform. Diesen können wir sehr einfach in den Einstellungen der Solaredge-Plattform erzeugen. Hierzu einfach einloggen, PV-Anlage auswählen und in den Einstellungen „Admin-Bereich“ den „API-Zugriff“ aktivieren und einen API-Key erzeugen.

Solaredge Portal API-Zugriff einrichten

Solaredge Portal API-Zugriff einrichten

Mit dem API-Key und der Standort-ID können wir den Solaredge-Adapter in ioBroker korrekt konfigurieren und den Zugriff testen:

Solaredge ioBroker Adapter Konfiguration

Solaredge ioBroker Adapter Konfiguration

Ist die Konfiguration korrekt hinterlegt, werden die Daten der PV-Anlage über die API der Solaredge-Plattform ausgelesen und in den Objekten gespeichert:

Solaredge ioBroker Adapter Objekte

Solaredge ioBroker Adapter Objekte

Die Objekte beinhalten folgende Daten:

  • currentPower
  • lastDayData
  • lastMonthData
  • lastUpdateTime
  • lastYearData
  • lifeTimeData

Die Aktualisierung erfolgt ca. alle 5 bis 10 Minuten. Für eine halbwegs genaue Auswertung und Visualisierung der Leistung der Anlage also eher ungeeignet, diese Werte nutzen wir nur für die Historisierung der Tages- und Monatsdaten.

Im zweiten Schritt kümmern wir uns um den halbwegs aktuellen Wert der PV-Leistung bzw. dem Gesamtverbrauch des Smarthomes. Hierzu lesen wir den digitalen Stromzähler aus und speichern den Leistungswert (entweder positiv, wenn wir mehr Leistung beziehen als produzieren oder negativ, wenn wir mit der PV-Anlage mehr Leistung produzieren als im Haushalt konsumieren) über die ioBroker-Objekte.

Wie wir einen digitalen Stromzähler in unseren ioBroker einbinden können, haben wir in diesem Artikel bereits beschrieben. Sollte die Hardware unseres ioBrokers nicht direkt am Stromzähler aufgestellt sein, können wir uns eines einfachen Workarounds bedienen: Wir haben in unserem Fall einen RaspberryPi im Schaltkasten installiert, der den Stromzähler ausliest und die Daten via MQTT an den eigentlichen ioBroker meldet. Es gäbe hierfür auch noch diverse andere Wege z.B. Master/Slave), nach unserer Erfahrung reicht für diesen Anwendungsfalls die Übertragung via MQTT allerdings aus, wie dies eingerichtet werden kann haben wir hier im Artikel zu MQTT beschrieben. Diese Lösung funktioniert auch hervorragend zwischen zwei Standorten über ein VPN-Verbindung zweier Fritz-Boxen.

Wir aktivieren in den ioBroker-Objekten die Speicherung des Leistungs-Objekts des digitalen Stromzählers:

Speicherung Leistung ioBroker Objekt

Speicherung Leistung ioBroker Objekt

Für eine Speicherung der Tages-, Wochen-, Monats- und Jahreswerte können wir entweder den Adapter sourceanalytics oder unser hier beschriebenes Script nutzen.

Mit Abschluss von Schritt 2 können wir uns direkt um die Visualisierung in VIS kümmern.



Unser Ziel ist die Darstellung der absoluten Werte der PV-produzierten Leistung und eine einfache Grafik, die aufzeigt, ob Leistung bezogen oder eingespeist wird:

PV-Anlage Leistungswerte in VIS visualisieren

PV-Anlage Leistungswerte in VIS visualisieren

PV-Anlage Leistung in VIS visualisieren

PV-Anlage Leistung in VIS visualisieren

Die absoluten Daten können wir aus direkt aus den Objekten des Solaredge-Adpaters und unserer Historisierung auslesen, für die Grafik setzen wird das Element „history sparkline“ ein.

Mit diesen wenigen Handgriffen haben wir eine halbwegs aktuelle Visualisierung unserer PV-Anlage in ioBroker umgesetzt.