Hallo,
meine individuelle Rollladensteuerung kommt meinen Vorstellungen inzwischen schon sehr nahe.
Nun erweist sich aber ein Feature als sehr anfällig, der Hitzeschutz für Fenster.
Im Hochsommer ballert sehr die Sonne ins Fenster. Die Lösung wäre andersartige Scheiben oder Rollos runter. Bisher haben wir uns aus Kostengründen für Lösung 2 entschieden und deshalb möchte ich das auch automatisieren.
Deshalb habe ich in jedes betroffene Fenster auf Zimmerseite einen Messfühler platziert, der alle 5 Minuten die Temperatur misst und für Statistikzwecke in eine RRD-Datenbank eingetragen.
Für die Hitzeschutzfunktion habe ich nun diese Temperatur genommen und bei Überschreiten eines Wertes (50Grad) wurde das Rollo fast ganz runter gefahren. Und bei Unterschreiten des Wertes (40Grad) wurde das Rollo wieder hoch gefahren.
Nun stellt sich heraus, dass bei bewölktem Himmel die Rollos ständig hoch und runter fahren.
Das Problem ist, dass ich punktartige Messwerte nehme, was recht zufällig sein kann. Besser wäre ein Mittelwert von mehreren Werten in einer bestimmten Zeitspanne.
Im Prinzip habe ich diesen Mittelwert schon, nämlich in der RRD-Datenbank.
Ich finde aber keine Lösung, wie ich diesen Wert einzeln aus der Datenbank auslesen und meinen Bash-Programm zur Verfügung stellen kann.
Die Datenbankstruktur sieht so aus:
# Datenbankstruktur: für alle 6min: 360;; 240Messunge am Tag;; 100Tage: 24000;; 5Jahre:1800
#rrdtool create stube.rrd --step 360 \
#DS:temp0:GAUGE:1200:-1:100 \
#DS:temp1:GAUGE:1200:-1:100 \
#DS:temp2:GAUGE:1200:-0:100 \
#DS:temp3:GAUGE:1200:-0:100 \
#DS:temp4:GAUGE:1200:-0:100 \
#DS:temp5:GAUGE:1200:-0:100 \
#DS:temp6:GAUGE:1200:-0:100 \
#DS:temp7:GAUGE:1200:-1:100 \
#RRA:AVERAGE:0.5:1:24000 \
#RRA:MIN:0.5:240:1800 \
#RRA:MAX:0.5:240:1800 \
#RRA:AVERAGE:0.5:240:1800
Display More
Ich habe zwar etwas gefunden, wo man die RRD-Werte in eine XML kopiert, und dann vielleicht auslesen kann. Da das ständig geschehen müsste, finde ich das suboptimal. Die Abfrage direkt aus der Datenbank wäre mir lieber.
Die Frage ist, wie kann ich von z.B.temp5 den zuletzt eingetragenen Wert auslesen.
Habt ihr eine Idee oder eine Quelle, wo solche Fragen auf deutsch diskutiert werden? Ich finde zu RRD tiefergehende Quellen nur auf englisch, und da bin ich sehr aufgeschmissen...