Im SolarEdge-Monitoring kann man die Panels der einzelnen Leistungsoptimierer analysieren und per csv-Datei exportieren. Cooler ist es aber natürlich, wenn man diese Daten automatisiert “abholt”, in die eigene Datenbank mitloggt und per Grafana visualisiert. Auf diese Weise lassen sich ganz neue Zusammenhänge erkennen und perspektivisch auch mit anderen Smart-Home-Parametern, die ebenfalls mitgeloggt werden, in Relation setzen.
Wie man die SolarEdge-Daten per Script zeitgesteuert abholt und am Ende eine Auswertung per Grafana aufbauen kann, ist Inhalt des nachfolgenden YouTube-Videos. Viel Spaß damit!
Links aus dem Video
00:01:50
Ich liebe SolarEdge – Analyse meines kürzlichen PV-Ausfalls
00:02:25
github – cooldil – solaredge.py
00:06:35
solaredge.py (54 Downloads)
00:08:03
SolarEdge Panels Flow NodeRED (41 Downloads)
00:08:23
node-red-contrib-pythonshell
00:09:45
node-red-contrib-pythonshell
pip install pytz, pandas, influxdb-client, influx-client
pip3 install influxdb
sudo apt-get install python-influxdb
00:16:15
PV-Panel_Test_Grafana (43 Downloads)

12 Kommentare
Herzlichen Glückwunsch zu deinen Erfolgen. Ich verfolge Ihre Arbeit schon seit langem. Ich habe auch ein Inselsystem gebaut, das seit 2 Jahren gut funktioniert. 16x280Ah Batterie- Neey-Balancer-JK B2A20S20P BMS -Anern 8,2KWSolar-Wechselrichter. Ist es möglich, JK-BMS-Daten über WLAN zu überwachen? Jetzt kenne ich nur die Gesamtspannung meines Anern-Wechselrichters, nicht die Spannung pro Zelle Smart ESS ap. Leider gibt es große Zeitunterschiede. Viele von uns haben dieses Problem und nicht jeder kann einen Victron-Wechselrichter kaufen. Vielen Dank für Ihre Hilfe und viele von uns sprechen kein Englisch. BÉLA
Hi,
ein JK-BMS bietet normalerweise externe Datenschnittstellen, z.B. RS485 oder Modbus. Hier lassen sich die BMS-Informationen auslesen. Dazu benötigt man dann eben die passende Soft- und Hardware. “Einfach” per WLan aus dem BMS auslesen, funktioniert dabei nicht. Einzig fällt mir hier Batrium als BMS-Lösung ein – hier lassen sich die Infos glaube ich auch per Ethernet abgreifen.
Da ich selbst Victron-Komponenten einsetze, beschreibe ich im Blog, wie die Integration mit bestimmten BMS aussieht. Bei anderen Marken habe ich leider keine eigene Erfahrung, was hier geht oder was nicht…
Viele Grüße
Jörg
Hallo Jörg,
super Beitrag, genau der Punkt der mir schon immer im Monitoring gefehlt hat. Jetzt kann ich durch die Normierung nicht mehr nur meine Ausrichtungen vergleichen, sondern auch noch Balkonkraftwerke von der Verwandtschaft die ich auch im Monitoring habe, mit dazu nehmen.
Ich habs auf nem Debian 11 System aufgesetzt mit folgenden Befehlen:
pip install influxdb-client, influx-client
pip3 install pytz, pandas, influxdb
sudo apt-get install python-influxdb
Das Thema Node-Red habe ich weggelassen und rufe das Script per cronjob auf. Hierzu habe ich in der Crontab folgenden Eintrag gemacht:
*/15 * * * * /usr/sbin/python3 /home/pi/solaredge.py
Funktioniert super!
Viele Grüße
Markus
Super, freut mich! Und danke fürs Teilen deiner ssh-Befehle! 😘
Viele Grüße
Jörg
PS: Ich feier das Script immer noch total. So macht die Auswerung endlich mal wirklich Spaß…
Korrektur:
*/15 * * * * /usr/bin/python3 /home/pi/solaredge.py
Hi Jörg, hab schon lange nach einer Lösung gesucht um genau diese Optimiererdaten abzufragen.
Habe durch Installation der von dir genannten zusätzlichen Pakete zumindest mal das Script zum laufen gebracht. Es bricht jedoch mit dem Kommentar “influxdb.exceptions.InfluxDBClientError: 401: {“error”:”username required”}” ab. Leider wird im Script kein Username abgefragt. Vielleicht hattest du das Problem auch und kennst eine Lösung.
Gruß Denis
Hallo Denis,
Bei mir ging’s auch ohne, ich hab aber gesehen dass im Script beim Aufruf des influx client die argumente für User und PW leer sind. Versuch doch mal da was einzutragen.
Puh, also bei mir lief das auch auf Anhieb mit dem Schreiben in die InfluxDB – habe hier aber auch keine Authentifizierung aktiviert, da leglich im Lan erreichbar. Hast du es schon hinbekommen?
Viele Grüße
Jörg
Hallo Markus, hallo Jörg,
habe versucht oben im Script user und password zu definieren und unten darauf zu verweisen. Leider ohne Erfolg. Daraufhin habe ich in der Influx config die Authentifizierung deaktiviert. Nun läuft es.
Wenn etwas Zeit ist versuche ich mal, ob ich durch Anpassung des Scripts auch an andere Daten der Optimirer herankomme. Z.B die Optimiererspannungen.
Gruß Denis
Hallo Denis,
Du kannst es auch einfach unten direkt mal eintragen, vielleicht gehts dann?
Weitere Werte fände ich auch total spannend, z.b. die Tagesproduktion.
Viele Grüße
Markus
Die Produktion in kWh lässt sich über die Integral-Funktion mit diesem Select-Ausdruck in Grafana (alte InfluxDB-Version) aus den viertelstündlichen Watt-Werten ermitteln.
Ein Beispiel:
SELECT integral(“146753691”) / 3600000 FROM “optimisers” WHERE $timeFilter
Spannenderweise kommen mit dieser Formel exakt die kWh-Produktionswerte heraus, die auch im SolarEdge-Portal angezeigt werden. Macht SolarEdge also anscheinend “nativ” auch nicht anders…
Viele Grüße
Jörg
Hallo Jörg,
Das ist ne super Info, werde ich mal ausprobieren.
Vielleicht kannst du auch mal nen Artikel oder Video über deine Grafana Dashboards machen?
Viele Grüße
Markus