Ausgelesene PV-Daten aufbereiten und darstellen
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Ausgelesene PV-Daten aufbereiten und darstellen
Hallo,
Ich lese die Daten unserer Photovoltaik-Anlage mit einem Bash-Skript in kurzen Zeitintervallen aus, das sind z.B. PV-Energie-Produktion, Energieverbrauch, PV-Leistung im Tagesverlauf. Das ganze läuft mit einem Debian-System auf einem stromsparenden Mini-PC, der bereits aus anderen Gründen 24h tgl. läuft.
Zur Zeit schaue ich mir die aktuellen Daten nur auf einer einfachen, selbst-gemachten Website mit php im LAN bzw. VPN an, würde die Daten aber außerdem gern für statistische Zwecke speichern und dann auch vielseitig aufbereiten können, z.B. als Tabelle, Liste, oder auch als Diagramm auf der Website.
Auf dem Gebiet habe ich kaum Erfahrung, daher die Frage, wie ich das am geschicktesten selbst machen könnte, z.B. die Daten mit dem Skript in eine Datenbank übertragen? Ich weiß, es gibt auch Projekte wie https://solaranzeige.de/phpBB3/solaranzeige.php, aber mein System läuft bis hierher schon recht gut und neue Aufgaben trainieren die grauen Zellen...
Danke für Eure Ratschläge und viele Grüße,
Theophil
Ich lese die Daten unserer Photovoltaik-Anlage mit einem Bash-Skript in kurzen Zeitintervallen aus, das sind z.B. PV-Energie-Produktion, Energieverbrauch, PV-Leistung im Tagesverlauf. Das ganze läuft mit einem Debian-System auf einem stromsparenden Mini-PC, der bereits aus anderen Gründen 24h tgl. läuft.
Zur Zeit schaue ich mir die aktuellen Daten nur auf einer einfachen, selbst-gemachten Website mit php im LAN bzw. VPN an, würde die Daten aber außerdem gern für statistische Zwecke speichern und dann auch vielseitig aufbereiten können, z.B. als Tabelle, Liste, oder auch als Diagramm auf der Website.
Auf dem Gebiet habe ich kaum Erfahrung, daher die Frage, wie ich das am geschicktesten selbst machen könnte, z.B. die Daten mit dem Skript in eine Datenbank übertragen? Ich weiß, es gibt auch Projekte wie https://solaranzeige.de/phpBB3/solaranzeige.php, aber mein System läuft bis hierher schon recht gut und neue Aufgaben trainieren die grauen Zellen...
Danke für Eure Ratschläge und viele Grüße,
Theophil
- heisenberg
- Beiträge: 4123
- Registriert: 04.06.2015 01:17:27
- Lizenz eigener Beiträge: MIT Lizenz
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Der Klassiker wäre rrdtool mit dem Speicherformat RRD (Round-Robin-Database), dass genau für diesen Zweck entworfen wurde.
Recht Hip ist zur Zeit grafana (Visualisierung) und prometheus (Metrikenaufzeichnung). Beide Projekte sind sehr umfangreich.
Recht Hip ist zur Zeit grafana (Visualisierung) und prometheus (Metrikenaufzeichnung). Beide Projekte sind sehr umfangreich.
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Ich habe einen Luftdruck- und Tempratursensor an einem Raspberry Pi Zero W. Die Sensoren lese ich alle 5 Minuten aus, versehe das Ausgelesene mit Zeit und Datum und hänge es einfach an eine ASCII-Datei an. So eine ASCII-Datei läßt sich später beliebig auswerten, eine Datenbank wäre mir dafür viel zu aufwändig.
Um dir ein Gefühl zu geben, wie groß so eine ASCII-Datei wird: seit 2. März 2019 haben sich 455000 Einträge angehäuft, die inzwischen 11.4MB auf der SD-Karte belegen. Das ist also alles in überschauberem Rahmen.
Um dir ein Gefühl zu geben, wie groß so eine ASCII-Datei wird: seit 2. März 2019 haben sich 455000 Einträge angehäuft, die inzwischen 11.4MB auf der SD-Karte belegen. Das ist also alles in überschauberem Rahmen.
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Danke Euch für die Tipps! ASCII-Dateien hätten für mich den Vorteil, dass ich mich nicht extra in eine Datenbank-Anwendung einarbeiten müsste. Werde mal schauen, wie man ASCII-Dateien am besten als Quelle für Kurven, Diagramme, etc. verwendet.
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Ich habe mir eine Kombination von Shell- und Gnuplot-Scripten geschrieben, mit der ich kontrollieren kann, wie sich ein paar wenige/interessante Werte meines Computers über die Zeit verhalten. Beispiel: https://test.szaktilla.de/lili.pdfTheophil T. hat geschrieben:30.06.2023 19:33:17... wie man ASCII-Dateien am besten als Quelle für Kurven, Diagramme, etc. verwendet.
Meinst Du ungefähr so etwas?
Gruß
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Wenn die ASCII-Datei als CSV (Comma Separated Values) aufgebaut wird ist das durchaus von Vorteil. Dann kann man das auch einfach in LO einlesen.
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Ja, so ein Ergebnis würde ich mir vorstellen!GregorS hat geschrieben:30.06.2023 20:31:42...Beispiel: https://test.szaktilla.de/lili.pdf
Meinst Du ungefähr so etwas?
Ich lese jetzt gerade über Richtlinien für csv-Dateien, wie Umgang mit Kommata in Werten, Art des Trennzeichens, etc., z.B. https://www.ietf.org/rfc/rfc4180.txt, das scheint ja für meine Zwecke gut zu funktionieren.
Gnuplot bietet sehr viele Möglichkeiten und der Import von csv Dateien in Libreoffice Calc ging ohne Probleme.
grafana wird auch von der "Solaranzeige" verwendet.heisenberg hat geschrieben:30.06.2023 13:27:22Der Klassiker wäre rrdtool mit dem Speicherformat RRD (Round-Robin-Database), dass genau für diesen Zweck entworfen wurde.
Recht Hip ist zur Zeit grafana (Visualisierung) und prometheus (Metrikenaufzeichnung). Beide Projekte sind sehr umfangreich.
Ich werde jetzt noch ein wenig experimentieren - nochmals danke!
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Na denn ...Theophil T. hat geschrieben:01.07.2023 07:38:29Ja, so ein Ergebnis würde ich mir vorstellen!GregorS hat geschrieben:30.06.2023 20:31:42...Beispiel: https://test.szaktilla.de/lili.pdf
Meinst Du ungefähr so etwas?
Wie Du die gewünschte Information loggen kannst, weißt Du ja schon. Evtl. kannst Du mein Gnuplot-Script ja für Deine Zwecke anpassen:
Code: Alles auswählen
#!/bin/gnuplot
FN1="/tmp/temperature.kpl.log"
FN2="/tmp/temperature.48hrs.log"
FN3="/tmp/temperature.24hrs.log"
FN4="/tmp/temperature.6hrs.log"
TI="Load/Temp./avail. RAM"
set fontpath "/usr/share/fonts/opentype/gekauft/"
set terminal postscript color \
font "HelveticaNeueLTStd-LTCn.otf,8" \
enhanced
set output "/tmp/plot.ps"
set timefmt "%d.%m.%y-%H:%M:%S"
set xdata time
set xtics rotate by -30
set ytics 10
set grid
set yrange [-5:105]
set ylabel TI
set multiplot layout 2,2 rowsfirst \
title TI font "HelveticaNeueLTStd-LTCn.otf,18"
set title "Alle Werte"
set format x "%d.%m"
plot FN1 using 1:3 title "Load ({/Symbol \306} 5 Minuten x 10)" with lines lc "#AADDAA", \
FN1 using 1:5 title "CPU Temp. [{/Symbol \260}C]" with lines lc "#0000FF", \
FN1 using 1:9 title "avail. RAM [%]" with lines lc "#AAAADD";
set title "{/Symbol \263} 48 Stunden"
set format x "%d.%m"
plot FN2 using 1:3 title "Load ({/Symbol \306} 5 Minuten x 10)" with lines lc "#AADDAA", \
FN2 using 1:5 title "CPU Temp. [{/Symbol \260}C]" with lines lc rgb "#0000FF", \
FN2 using 1:9 title "avail. RAM [%]" with lines lc rgb "#AAAADD";
set title "{/Symbol \263} 24 Stunden"
set format x "%d.%m, %H:%M"
plot FN3 using 1:3 title "Load ({/Symbol \306} 5 Minuten x 10)" with lines lc rgb "#AADDAA", \
FN3 using 1:5 title "CPU Temp. [{/Symbol \260}C]" with lines lc rgb "#0000FF", \
FN3 using 1:9 title "avail. RAM [%]" with lines lc rgb "#AAAADD";
set title "{/Symbol \263} 6 Stunden"
set format x "%d.%m, %H:%M"
plot FN4 using 1:3 title "Load ({/Symbol \306} 5 Minuten x 10)" with lines lc rgb "#AADDAA", \
FN4 using 1:5 title "CPU Temp. [{/Symbol \260}C]" with lines lc rgb "#0000FF", \
FN4 using 1:9 title "avail. RAM [%]" with lines lc rgb "#AAAADD";
#eof
HTH
Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])
-
- Beiträge: 402
- Registriert: 22.10.2006 20:24:59
- Lizenz eigener Beiträge: MIT Lizenz
Re: Ausgelesene PV-Daten aufbereiten und darstellen
Das hilft sehr, Gregor, super!