NEWS
Visualisierung PV-Anlage mit SMA-Wechselrichter/Sunny Webbox
-
Hallo zusammen.
Ich hatte lange nach einer Möglichkeit gesucht, die Einspeisedaten meiner PV-Anlage (Sunny Tripower 15000TL-10 Wechselrichter, Sunny WebBox mit Bluetooth, Gesamtleistung der PV-Anlage: 14,4 kWp) außerhalb des Sunny Portals von SMA zu visualisieren und in meine ioBroker Visualisierung zu integrieren.
Die Daten des Wechselrichters werden standardmäßig auf einer SD-Karte in der Sunny Webbox in Form einer CSV-Datei gespeichert sowie ins Sunny Portal hochgeladen.Ich habe im Sommer eine Lösung implementiert die meine Anforderungen sehr gut erfüllt. Das Ergebnis seht ihr hier:
Auswertung eines Tages (bei wolkenlosem Himmel) ...
sowie einer kompletten Woche ...
Wenn Interesse besteht kann ich gerne eine detaillierte Beschreibung der Vorgehensweise liefern. Hier schon mal eine Kurzfassung ...
- ioBroker läuft bei mir auf einem Raspberry Pi 4 mit 4GB RAM (bootet von einem 16GB USB-Stick und nicht von einer microSD Karte)
- die Daten des Wechselrichters werden zunächst auf einer SD-Karte in der Sunny Webbox gespeichert (als CSV-Datei)
- die Sunny Webbox überträgt die CSV-Datei mit den jeweils aktuellsten Messwerten per FTP an des RasPi.
- Da mich eigentlich nur die aktuelle erzeugte Leistung der Anlage zur jeweiligen Uhrzeit interessiert, selektiere ich zunächst die entsprechenden zwei Spalten der CSV-Datei über Node-Red bevor die Messdaten dann über Node-Red in eine MariaDB Datenbank geschrieben werden (MariaDB läuft auch auf dem RasPi)
- Die Visualisierung der Daten erfolgt dann abschließend über Grafana (läuft ebenfalls auf dem RasPi).
-
-
@krissi
Ich hatte die folgende Vorgehensweise gewählt (ich gehe mal davon aus dass Du ioBroker bereits im Eisatz hast).Installation
Die folgenden Adapter werden in ioBroker benötigt und können einfach über die grafische Oberfläche von ioBroker installiert:
- SQL (SQL-Protokollierung)
Bei der Konfiguration des Adapters sind dann die Daten des MariaDB-Servers einzutragen (IP-Adresse,
Datenbankname, Username, Passwort müssen entsprechend Deines Setups angepasst werden). Die Default-Settings im 2. Reiter können unverändert übernommen werden.
- node-red
Hier sollten folgende Einstellungen gemacht werden:
Damit die Daten des Wechselrichters in einer Datenbank gespeichert werden, habe ich MariaDB auf dem RasPi installiert.
Eine gute Anleitung hierzu findet man z.B. hier: https://christiankronen.de/raspberry-pi-als-mysql-server/
Bei mir läuft MariaDB-Version 10.3.31. Meine Datenbank habe ich solaranlage genannt. In der Datenbank habe ich dann eine Tabelle Messdaten angelegt
und folgende Felder für die Daten definiert
In der Datenbank sehen die Daten vom 1. Juli 2021 dann so aus:
Die Installation von Grafana zur Visualisierung der Daten ist hier beschrieben: https://grafana.com/tutorials/install-grafana-on-raspberry-pi/Nun habe ich auf dem RasPi im Verzeichnis /home/pi eine Verzeichnis mit dem Namen sunny angelegt und mit chmod 777 home/pi/sunny alle Zugriffsrechte auf dieses Verzeichnis erlaubt. In dieser Verzeichnis überträgt die Sunny Webbox per FTP die CSV-Dateien (siehe Screenshot):
Der FTP-Transfer ist wie folgt in der Sunny Webbox konfiguriert:
Die Namensgebung der CSV-Dateien hat immer die Form YYYY-MM-DD.csv
Über eine Cron-Job erstelle ich nach Mitternacht täglich diese leere CSV-Datei damit die Datei bereits existiert wenn der erst FTP-Transfer erfolgt. Dies erfolgt mit folgendem Befehl:
touch /home/pi/sunny/date +"%F"
.csv;chmod 777 /home/pi/sunny/date +"%F"
.csv
Als Beispiel hänge ich hier mal die Originaldatei vom 01. Juli 2021 mit an: 2021-07-01.csv
Von der CSV-Dateien interessieren mich für die Speicherung in der Datenbank und die spätere Visualisierung nur 3 Spalten:
Spalte 1: Timestamp
Spalte 12: Tagesertrag
Spalte 43: aktuelle EinspeiseleistungSpeicherung der Daten in der Datenbank
Jetzt kommt der node-red Adapter ins Spiel ... das sieht dann bei mir so aus:
Hier ist die exportierte Flow-Datei die man in die eigene node-red Instanz importieren muss: solaranlage.json
Neben der automatischen Datenübernahme (erfolgt alle 15 Minuten) habe ich noch einen zusätzliche Möglichkeit des manuellen Datenimports integriert. Außerdem schreibe ich die Daten auch noch in eine MariaDB Datenbank auf einem extern gehosteten vServer.
In diesen Nodes müssen dann die spezifischen Zugangsdaten der Datenbank eingetragen werden:
Wenn es Fragen zur Funktionsweise des Flows geben sollte ... gerne nachfragen.
Visualisierung
- An der Weboberfläche von Grafana anmelden
- Unter Configuration --> Data sources den blauen "Add data source" Button anklicken und dann MySQL auswählen.
Anschließend die Daten der MariaDB Datenbank eintragen.
und unten den Save & Test Button anklicken.
Dann unter Create --> Import mein Dashboard importieren: Solaranlage-1641681716072.json
Ich hoffe dass diese Beschreibung hilfreich ist den Weg zu meiner Visualisierung nachvollziehen zu können.
Wenn alles richtig gemacht wurde und die Anpassungen stimmen sollte das Dashboard die entsprechenden Werte der MariaDB anzeigen.Sollte es Fragen oder Probleme geben versuche ich gerne zu unterstützen.
- SQL (SQL-Protokollierung)
-
Hi, danke erstmal für deine Mühe. Ich habe das ganze jetzt mit einer neuen ioBroker installation bis zum NodeRed Adapter laufen. CSV wird auch gesichert, allerdings speichert der mir eine zip Datei. Da sind noch Log...xml.zip Dateien und Mean.xml.zip drin!?
Die Daten würde ich gerne in meiner Influxdb speichern, eventuell kannst Du mir da weiterhelfen. Den Adpater habe ich schon installiert und eine neue Datenbank erstell, Verbindung funktioniert auch. Jetzt brauche ich wie gesagt die Umsetzung in Node-Red. Dann sollte ich wieder alleine klar kommen. Ich bin nur nicht der Node-Red Profil.
Danke und Gruß
Krissi -
Schöner View aber warum nutzt ihr zum Auslesen der Daten nicht den Modbus Adapter, schreibt diese dann mit Hilfe des Influx Adapters in eine InfluxDB und Visualisiert dann mit Grafana?
-
Habe ich schon probiert, ich bekomme da leider nur die Gesamtanlage als Daten raus. Läuft bei mir so. Ich habe das schon alles Mögliche probiert, ich komm da aber nicht weiter.
-
@krissi Was genau hast du probiert?
DIe Daten per Modbus auszulesen?
-
Genau, das funktioniert wie gesagt nur für die gesamte Anlage.
Ich komm nicht einzeln an die Wechselrichter. -
@krissi Was für WR?
ich lese STP15000 und STP6000 problemlos über Modbus aus.
Wie äußert sich denn das Problem?
-
@wendy2702
Wie hast Du die Wechselrichter an die Webbox angebunden? Bei mir steht SMA-Com als Schnittstelle und SMA-Net als Protokoll. Die Webox hat kein BT, ist noch eine Alte. Ich bekomme nur über Port 502 und Geräte ID 2 etwas ausgelesen. -
Auslesen kann ich dann
Eingangsregister:
30513 Gesamtertrag_Total
30517 Tagesertrag_Total
30775 AC_Wirkleistung -
@krissi Ich lese die WR direkt aus.
Der STP15000 sollte doch MOdbus können und wenn nicht mal schauen ob es neue FW gibt. Weiss ja nicht wie alt deine WR sind und welche FW installiert ist.
Mit Sunny Explorer kannst du dich aber mit deinen WRs verbinden?
-
Nein, die Webbox hat kein BT. Ich habe die letze Firmware (1.51) auf der Webbox drauf. Die Wechselrichter sind über RS485 an der Webbox angeschlossen
-
Meine WR sind beide 11 Jahre alt.
-
SunnyBoy 2500 und 3000
-
@krissi OK.
Dann muss man mal bei SMA schauen.
Mein STP ist 8 Jahre alt.
Gut möglich das Modbus für die älteren Geräte nicht mehr implementiert wurde.
-
Da hab ich schon alles durchsucht. Bleibt im Moment nur die Lösung von Lintux. Ich hänge da aber wie gesagt an Node-Red und dem Auslesen der Dateien.
-
Ich habe auf der Webbox übrigens die Firmware 1.52 , es gab mal eine 1.53 oder sogar 1.55, die ist aber nicht mehr bei SMA zu bekommen.
-
@krissi und welche Versionen haben die Sunny Boys ?
-
Keine Ahnung, ich denke nicht das man da eine Firmware updaten kann.