Darstellung der Statistik einer PV Anlage nach Monaten

Ich wollte eine Darstellung der Monatserträge unsere PV Anlage über das Jahr hinweg erstellen. Die Daten sind mit Piko_stats bereits verfügbar, müssen aber nur in das richtige Format transportiert werden. Zur Darstellung der Daten habe ich zum ersten Mal gnuplot verwendet. Die hier dokumentierte Lösung ist mit Sicherheit nicht die eleganteste aber ich bekomme das Bild was ich gesucht habe und gut ist.

1. Auswertung der Daten

Bei diesem Script gibt es zum Zeitpunkt der Erarbeitung noch die Besonderheit, das mit dem Mai begonnen wird. Dieser Monat ist der erste Monat der eine volle Laufzeit der Anlage hat. In den folgenden Jahren wird das Exportscript noch auf "das ganze" Jahr angepasst.

vi pv-monthly.sh

#!/bin/bash
output=/opt/c/tools/solar/pv-monthly.dat
rm $output
ende_monat=$(/bin/date +%m)
start_monat=5
for j in `seq $start_monat $ende_monat`
do
monat_dat=$(./Piko_db.py --db pv-data.db --dump-stat --filter-time "`date +%Y-`%$j-%" --day | cut -d"|" -f2,6  | cut -c 21-  | sed -e "s/ \+ / /g" | cut -d " " -f 5 | tr "\n" " " )
monat_sum=0
for i in $monat_dat
do
    monat_sum=`expr $monat_sum + $i`
done

echo "$j" "$monat_sum">> $output
done
gnuplot pv-monthly.plt

Ich bekomme mit diesem Script eine Datei mit folgendem Format: Monat - Ertrag (Die Erklärung für den gnuplot Befehl kommt gleich)

vi pv-monthly.dat

5 560814
6 631329
7 690376

2. Auswerten der Daten mit gnuplot

gnuplot kann man von der Kommandozeile starten und die einzelnen Befehle manuell eingeben und starten. Diese ist für den Beginn hilfreich wenn man die ersten Schritte geht. Zeigt sich die erste Grafik auf dem Bildschirm ist es einfacher die Befehle hintereinander in eine Textdatei zu schreiben und diese dann an einem Stück ausführen zu lassen

vi pv-monthly.plt

set terminal png
set nokey
set datafile sep ' '
set grid
set ylabel "Leistung in Watt"
set xlabel "Monat"
set output '/var/www/weather/pv-monthly.png'
set yrange [0:800000]
set timefmt "%m"
set format x "%b"
set xtic rotate by -45 scale 0 font ",8"
set boxwidth 0.3
set style data boxes
set style fill transparent solid 0.5 noborder
plot "pv-monthly.dat" u 2 : xtic(1)

Wichtig ist hierbei, das ger "set terminal png" Entrag ganz an den Anfang kommt. Als ich ihn später in der Definietion hatte bekam ich die Fehlermeldeung "Failed to initialize wxWidgets. Segmentation fault"

Nun kann ich mit gnuplot pv-monthly.plt die Grafik erzeugen.

Und so sieht das dann aus

2013-07-pv_montly.png