Ich weiß, dass man mehrere Sensoren an einem Adapter betreiben kann/sollte, aber HW-technisch bin ich noch nicht soweit und dachte, ich könnte es solange mit 2 Adaptern versuchen, da einer derzeit ungenutzt ist.
Aber wenn das zu schwierig/unmöglich ist, werde ich schauen, dass ich mir so schnell wie möglich ein sinnvolles Konzept überlege, wie ich die Sensoren alle zusammenschalte. Am besten in einer kleinen Box auf einer Steckplatine o.ä. Was eignet sich denn am besten dazu? (sorry, das HW-seitige ist hier eigentlich OT)
@alle:
Gerne würde ich die Farbe des Graphen abhängig vom Wert ändern. Dann könnten Temp.werte z.B. von 20-22 °C in grün, ab 22 °C in rot und unter 20 °C in blau dargestellt werden.
Hier steht etwas zu mehrfarbigen Graphen, aber wie und wo lässt sich das auf der Fritzbox umsetzen?
Um einen mehrfarbigen Graph darzustellen, muß man sich der CDEFs bedienen. Eine CDEF kann auch als IF Anweisung genutzt werden. Der grüne Graph wird mit einen leicht größeren Wertebereich angegeben, sonst hat man unter Umständen "Löcher" im Graph. Es wird noch mal ein extra roter Graph gezeichnet, damit es bei der Überlappung zwischen rot und grün einfach besser aussieht. Der Graph wurde mit folgenden Befehl erzeugt:
Code:
/usr/local/rrdtool/bin/rrdtool graph /auktion/apache/htdocs/monitoring/temperaturz.png \
-a PNG -b 1024 --start -7200 -A \
-l -5 -u 40 -t "Zimmer Temperatur" --vertical-label "Grad Celsius" -w 600 -h 200 \
DEF:g1=/auktion/rrdtool/temperatur/temperatur.rrd:zimmer:AVERAGE \
DEF:gmin=/auktion/rrdtool/temperatur/temperatur.rrd:zimmer:MIN \
DEF:gmax=/auktion/rrdtool/temperatur/temperatur.rrd:zimmer:MAX \
VDEF:g1a=g1,LAST \
VDEF:gmina=gmin,MINIMUM \
VDEF:gmaxa=gmax,MAXIMUM \
CDEF:blau=g1,15,LT,g1,UNKN,IF \
CDEF:rot=g1,22,GT,g1,UNKN,IF \
CDEF:gzw=g1,23,LT,g1,UNKN,IF \
CDEF:gruen=gzw,10,GT,gzw,UNKN,IF \
LINE2:rot#ff0000:"Zimmer Temperatur über 22 °C," \
LINE2:gruen#00ff00:"zwischen 15 und 22 °C" \
LINE2:blau#0000ff:"Temperatur unter 15 °C\n" \
LINE2:rot#ff0000: \
GPRINT:gmina:"Tiefsttemperatur\: %5.2lf °C" \
GPRINT:gmaxa:"Höchsttemperatur\: %5.2lf °C" \
GPRINT:g1a:"aktuelle Temperatur\: %5.2lf °C"
Der wesentliche Code steht m.E. in
/etc/default.rrdstats/rrdstats von ramik bzw. cuma in der Funktion
collect_one_sub()
Aber leider bin ich mir nicht ganz sicher, ob das der richtige Ort für CDEF etc. wie im o.g. Bsp. ist und wie es (ungefähr) umzusetzen wäre.
Z.B. kommen im o.g. Skript keine
graph Anweisungen von
rrdstats vor. Wo finde ich die denn?
Ich erwarte keinen fertigen Code/Patch, würde mich aber über einen Wink sehr freuen, das ggf. selbst hinzubekommen und dann auch gerne zu veröffentlichen, falls es klappt und Sinn macht.
EDIT1:
werden die Backup-Daten nach einem Box-Neustart wieder geladen und weiterverwendet?
Wenn meine Box neu startet, ist der Graph komplett weg und er wird dann so angezeigt, als ob vorher noch nie Daten aufgezeichnet worden seien. Ist das so gewollt, oder geht es mit rrdstats nicht anders?
EDIT2:
Ich rufe digitemp via rc.custom (Freetz-GUI) auf:
Code:
cd /var/tmp/flash/rrdstats
digitemp -s /dev/ttyUSB0 -i
Macht Ihr das auch so?
Vorher hatte ich die 2 Zeilen in debug.cfg stehen.
Wenn ich es ganz weglasse (weder in debug.cfg noch in rc.custom), startet digitemp gar nicht.
Ist das normal oder sollte es automatisch starten?
Die benötigten Kernel-Module habe ich im Freetz-GUI unter "Module" eingetragen:
Das ist doch sicherlich ok so?