#!/bin/bash
#-- Die Tagesgrafik erstellen
#-- Version: 03.01.2015
#-- gefüllte Gasverbrauchsfläche bei den Heizkreiskurven
# in das entsprechende Verzeichnis wechseln
# ganz wichtig für die crontab-Bearbeitung !!!
# crontab:
# 44 4 * * * /home/papa/C/tempsens/do_grafik.sh > /dev/null 2>&1
cd /home/papa/C/tempsens/
# aktuelle Plotdatei
DATEI_HEUTE=$(date +%Y-%m-%d.dat)
#echo "aktuelle Datei = "$DATEI_HEUTE # TEST ======
for INPUT in *.dat
do
#echo $INPUT # Ausgabe TEST ======
# bedingte Ausführung
# die aktuelle Plotdatei nicht mit gnuplot bearbeiten
# nur die der Vortage
if [ "$INPUT" != "$DATEI_HEUTE" ]
then
# Titel der Grafik
TAG=$(echo $INPUT | cut -c9-10)
MONAT=$(echo $INPUT | cut -c6-7)
JAHR=$(echo $INPUT | cut -c1-4)
TITEL="Tageskurve "$TAG"-"$MONAT"-" # für gnuplot den Titel bilden
PDFTITEL="Tageskurve "$TAG"-"$MONAT"-"$JAHR".pdf" # PDF-Datei
#echo $TITEL # TEST ======
# Grafik mit gnuplot erzeugen
gnuplot <<PLOT
# =========
set encoding iso_8859_1 # Umlaute ermöglichen
set decimalsign '.' # Kommazeichen spezifizieren
set grid lt 0 lw 1 lc rgb "#1E90FF" # Gitter zeichnen (Farbdruck)
#set grid lt 0 lw 1 lc rgb "black" # Gitter zeichnen (SW-Druck)
set terminal pdf enhanced color solid font "Tahoma, 10" \
size 29cm,20cm # DIN A 4 quer (29,7 * 21)
# ========= Legende positionieren
set key left
# ========= X-Achse für Datum/Uhrzeit vorbereiten
set timefmt "%d.%m.%Y-%H:%M:%S" # Datenformat in der Tabelle
set xdata time # die X-Achse hat die Zeit
#set xrange ["28.04.2013-16:30:00":"28.04.2013-23:59:00"]
# ========= Y-Achsen vorbereiten
#set format y "%.0f" # keine Nachkommastellen, normale Darstellung
#set format y2 "%.0f" # keine Nachkommastellen, normale Darstellung
#set ytics
#set y2tics
set ylabel "Temperatur (Grad C)" # Y-Achse beschriften
# ========= Variablen deklarieren
# INPUT = "2013-09-05.dat"
LINE1 = "VL-Heizung"
LINE2 = "RL-Heizung"
LINE3 = "VL-Speicherladung"
LINE4 = "RL-Speicherladung"
LINE5 = "VL-Solar"
FELD1 = "Gasverbrauch"
#JAHR = "2013"
# TITEL = "Tageskurve 05-09-"
# ========= wichtige Einstellungen setzen
set xtics 7200 # jede Stunde (3600)
set xlabel "Uhrzeit" # X-Achse beschriften
set format x "%H" # Texte der X-Achse formatieren
set ytics 2
set yrange [10:90]
# ========= die Daten plotten
set terminal pdf monochrome enhanced dashed # monochrome color
set title "$TITEL"."$JAHR" # Titel setzen
set output "$TITEL"."$JAHR".".pdf" # Datei benennen
# smooth {unique | frequency | csplines | acsplines | bezier | sbezier}
plot "$INPUT" using 1:2 title LINE1 axis x1y1 smooth unique with lines \
linetype 1 linewidth 3 linecolor 10, \
"$INPUT" using 1:3 title LINE2 axis x1y1 smooth unique with lines \
linetype 1 linewidth 3 linecolor 12, \
"$INPUT" using 1:4 title LINE3 axis x1y1 smooth unique with lines \
linetype 1 linewidth 3 linecolor 13, \
"$INPUT" using 1:5 title LINE4 axis x1y1 smooth unique with lines \
linetype 1 linewidth 3 linecolor 14, \
"$INPUT" using 1:6 title LINE5 axis x1y1 smooth unique with lines \
linetype 1 linewidth 3 linecolor 11, \
"$INPUT" u 1:2:3 title FELD1 w filledcu linewidth 3 linecolor 6
# ========= Ende
quit
PLOT
# keine 2-malige Bearbeitung der Daten. Daher:
INPUT_NEU=${INPUT%???}txt # neuer Dateiname
#echo $INPUT_NEU # Ausgabe TEST ======
mv $INPUT $INPUT_NEU # bearbeitete Datendatei umbenennen
cp "$PDFTITEL" /var/www/"$PDFTITEL" # die fertige Datei kopieren
fi # Ende bedingte Ausführung
done
exit 0