[Trunk #3003] Visualisierung von DigiTemp

Starten kannst du den mit
Code:
syslogd -C

Sachen die danach passieren werden dann entsprechend geloggt, so sie das automatisch tun.

Eigentlich solltest du ne Ausgabe beim Aufruf von dmesg haben. Das ist relativ ungewöhnlich.
 
Hallo cuma,

ich habe hier 2 Seriell-Adapter mit je 1 DS18S20-Sensor, die ich gerne mit digitemp und rrdstats nutzen möchte.
Einer wird mit /dev/ttyUSB0, der andere mit /dev/ttyUSB1 gefunden.

Aber im Freetz-GUI kann man nur einen seriellen Port angeben.

Gibt es eine Möglichkeit - ggf. auch über die Konsole - rrdstats mitzuteilen, dass es von 2 Adaptern lesen soll?
Würde es dazu ausreichen, unter /var/tmp/flash/rrdstats/ die Konfig-Datei digitemp.conf anzupassen?

Ich habe hier entweder diese:
Code:
TTY /dev/ttyUSB0
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 1
ROM 0 0x10 0x65 0xA2 0x98 0x01 0x08 0x00 0x43
... oder diese:
Code:
TTY /dev/ttyUSB1
READ_TIME 1000
LOG_TYPE 1
LOG_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F"
CNT_FORMAT "%b %d %H:%M:%S Sensor %s #%n %C"
HUM_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F H: %h%%"
SENSORS 1
ROM 0 0x10 0xBC 0x8B 0x98 0x01 0x08 0x00 0x1A
Aber ich kann ja schlecht in dieselbe Konfig-Datei zwei TTY-Devices hintereinander eintragen. Wie macht man das?
Falls es über das Freetz-GUI ginge - umso besser, muss aber nicht sein.

Danke für Deine Hilfe!
 
Ich hab bis jetzt mit DigiTemp noch nie die 85er Fehler, nur mit owfs. Es sind bei mir momentan 3 Sensoren, verkabelt mit Cat5 per Stern. Längen: 15m,5m und 3m. Alle sind allerdings über den 3. Pin versorgt was den Vorteil hat, dass es zuverlässiger funktionieren soll und bei Operationen den Bus nicht blockiert.

Mein Bus ist derzeit immer noch falsch aufgebaut (ich hab' immer noch kein voll-verdrahtetes RJ11-Kabel, aber das kommt bald, Stecker sind bestellt), aber mir ist da noch was aufgefallen: Sobald ich telefoniere häufen sich die 85er oder die "kann nicht auf den Bus zugreifen" Fehler. Danach ist wieder alles gut.

Ich werde jetzt mal versuchen, das ganze einfach höher zu priorisieren.
 
@ao: Darf ich fragen, weshalb es 2 Adapter sein sollen? Sowas ist eigentlich nicht vorgesehen. Ich hab einfach an einem mehrere Sensoren angeschlossen.
@shinebar: Vielleicht sind die Kabel nicht gut abgeschirmt und es kommt so zu fehlern?
Bei aktuell 58642 Messerweten habe ich laut cvs-Dateien keinen einzigen 85 Fehler. Ich hab nur Cat5(e) Kabel.
 
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:
Code:
ftdi_sio
pl2303
Das ist doch sicherlich ok so?
 
Zuletzt bearbeitet:
Wenn digitemp aus keinem anderen Startscript heruas aufgerufen wird, dann ist es normal, dass es gar nicht aufgerufen wird, wenn du es aus den frei editierbaren herausnimmst.
 
Sollte digitemp denn standardmäßig aus einem Skript automatisch gestartet werden?
Bei mir war das nicht der Fall, so dass ich es wie o.g. in rc.custom gepackt habe. Damit klappt es ja auch.
 
Mir fehlen echt die Worte.
Für Daten mit Digitemp aufzuzeichnen braucht man an keinem Startskript rumfummeln, dafür gibts die "DigiTemp" Sektion in RRDstats.
Und dass du nicht beide Module braucht, hatte ich doch schnon merhmals geschrieben.
Und natürlich werden die Daten nach einem Reboot wieder geladen, das ist doch Sinn der Sache!?!?
 
Wie ich schon schrieb, geht es hier nicht, ohne die Module zu laden und nach einem Neustart meiner 7170 wird der Graph nicht weitergezeichnet, sondern er beginnt von vorne. Ich kann ja auch nichts dafür. :rolleyes:
 
Wo hast du denn dei persistentes Verzeichnis hingelegt? Die Mpduel kannst du über das Webif laden lassen
 
Persistentes Verzeichnis: /tmp/persistent
ftdi_sio und pl2303 lade ich wie oben beschrieben über die Freetz-GUI Einstellung unter "modules".
 
Ein persistentes Verzeichnis in tmp ist irgendwie nen widerspruch oder?
Vielleicht mal auf nen stick legen?
 
Ja, aber dazu hatte ich doch beide Pfade oben im Thread schon beschrieben und gefragt. :rolleyes:
Danke jedenfalls für den konkreten Hinweis, also ab damit auf einen Stick.

EDIT:
Offenbar reicht es nicht, den Pfad im WebGUI anzupassen, ohne die Dateien manuell von /tmp/persistent z.B. nach /var/media/ftp/uStor01/rrdstats/persistent zu kopieren. Wenn ich die nicht dorthin kopiere und nur den neuen Pfad /var/media/ftp/uStor01/rrdstats/persistent angebe, wird dort nichts angelegt und auch kein Graph angezeigt, d.h. die Graph-Seiten erscheinen dann gar nicht, also nicht nur keine "Kurve", sondern auch keine Achse und nichts.
Ist es gewollt, dass bei Pfad-Änderung die Dateien manuell zum neuen Pfad kopiert werden müssen, oder habe ich mal wieder etwas verkorkst?
 
Zuletzt bearbeitet:
Ansicht ändern

Ich möchte im graph die Kennlinie von LINE3 auf LINE1 ändern. Jetzt habe ich versucht diverse stats.cgi zu ändern, neu kompeliert, aber leider konnte ich keine Änderung feststellen.
Code:
./build/modified/filesystem/usr/lib/cgi-bin/rrdstats/rrddt.cgi
./build/modified/filesystem/usr/mww-one/cgi-bin/rrddt.cgi
./make/rrdstats/files/root/usr/lib/cgi-bin/rrdstats/rrddt.cgi
./make/rrdstats/files/root/usr/mww-one/cgi-bin/rrddt.cgi
./packages/rrdstats-0.6.9/root/usr/lib/cgi-bin/rrdstats/rrddt.cgi
./packages/rrdstats-0.6.9/root/usr/mww-one/cgi-bin/rrddt.cgi
Welches dieser Files muss ich editieren um den graph zu ändern?
Oder geht das auch direkt auf der Box (denke nicht denn ro fs)?
Danke Gerhard
 
Im build-modified lohnt das auch nciht, das wird immer neu erzeugt beim Bauen des Images.
Änderungen von hier:
Code:
./make/rrdstats/files/root/usr/lib/cgi-bin/rrdstats/rrddt.cgi
./make/rrdstats/files/root/usr/mww-one/cgi-bin/rrddt.cgi
werden nach einem
Code:
make rrdstats-dirclean && make
ins Image übernommen.
 
Hallo,

wieso zeigt mir ps folgendes an?
2975 root 856 S N digitemp -s /dev/ttyUSB0 -t0 -q -o%C -c/tmp/flash/rrdstats/digitemp.conf
Wird digitemp.conf immer in /tmp/flash/rrdstats angelegt?

Ich habe nämlich folgendes eingetragen:
Code:
Temporäres Verzeichnis:   /var/media/ftp/uStor01/rrdstats/tmp
Persistentes Verzeichnis: /var/media/ftp/uStor01/rrdstats/persistent
Backup Verzeichnis:       /var/media/ftp/uStor01/rrdstats/persistent/backup
_____
EDIT - Antwort [Quelle] gleich hier, damit man dafür nicht noch weiter runterscrollen muss. ;-)
/tmp/flash liegt nicht im festen Firmware Teil im Image, sondern in dem Bereich, wo die Konfiguration abgespeichert wird. Es wird daher beim Firmware Update auch nicht verändert. Das ist praktisch, weil die Konfiguration erhalten bleibt.
Danke an cuma für den Hinweis.
.
 
Zuletzt bearbeitet:
Wieviele Sensoren sind möglich??

Hallo!

Ich habe in einem der Posts gelesen, dass mehr als 10 Sensoren angeschlossen werden können.

Mit 10 Sensoren funktioniert alles einwandfrei. Wenn ich aber den 11. anschließe, werden einige Werte in den Graphen vertauscht. Z.B. aus -2° Außentemperatur werden 56° Heizungsvorlauf oder Kellerraum1 hat 56°. Die Außentemperatur ist ganz weg.
Hat jemand eine Erklärung? Kann man nur 10 Sensoren anschließen?

Danke und viele Grüße

JoJo
 
Zuletzt bearbeitet:
Jup, hab momentan 11 Sensoren angeschlossen. Du brauchst aber mindestens Revision 3047 (Fehler durch "sort" in trunk/make/rrdstats/files/root/etc/default.rrdstats/rrdstats)

@ao: Bemüh mal zu "/tmp/flash" die Suchfunktionen
 
@ao: Bemüh mal zu "/tmp/flash" die Suchfunktionen
Cuma, könntest Du bitte noch eine erläuternde Zeile dazuschreiben, was Du meinst? Sonst kann ich ja lange suchen. :rolleyes:
 
Einfach mal Google öffen und danach suche. Der 1. Treffer führt dich hier ins Forum in einen Thread wo steht was das für ein Ordner ist
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.