[Trunk #3003] Visualisierung von DigiTemp

cuma

Aktives Mitglied
Mitglied seit
16 Dez 2006
Beiträge
2,756
Punkte für Reaktionen
7
Punkte
38
Zum Auslesen der Temperatur von 1-wire Adaptern. Die Daten werden mit RRDstats geloggt und in eine rrd sowie cvs gespeicht. DigiTemp muss sich auch im Image befinden, sonst sieht man die Optionen nicht. Die Status-Seite wird erst sichtbar wenn man DigiTemp aktivert hat.

Features:
-Eigene Seite unter "Status"
-Unterstützung für RS232 und USB
-Aliasnamen statt Device-IDs
-optionale Gruppen für die Sensoren
-definierbare Farbe für jeden Sensor
-Fehler 85°C/185°F unterdrückbar
-Diagramme auf eigenem Port möglich
-Aktion bei erreichen eines Schwellwertes

RRDstats Verbesserungen:
-verbleibende Restzeit des Intervalls dynamisch
-Diagramme auf eigenem Port optional möglich


Beispiel für die Konfiguration:
alias
Code:
1023456789ABCDEF #990099 Sensor_A 
1023456789ABCDEF #00FF00 Sensor_B 
1023456789ABCDEF #009900 Sensor_C

group
Code:
Sensor_A Gruppe_A
Sensor_B Gruppe_A
Sensor_C Gruppe_A

Sensor_A Gruppe_B
Sensor_B Gruppe_B

Sensor_B Gruppe_C
Sensor_C Gruppe_C

Sensor_A Gruppe_D
 
Zuletzt bearbeitet:
Das finde ich brutal verlockend. Ich sammle mit meiner Box die Daten auch von anderen Maschinen ein und möchte diese dann graphisch darstellen. Es sollte von der Box gesammelt werden, da diese an einem zentralen Punkt plaziert ist. Da ich aber auch noch telefonieren will, bemerke ich schon manchmal wenn die Scripte anlaufen, welche rrdtool aufrufen, daß die Telefonie ruckelt. Es wäre doch also kuhl, wenn man die Last z.B. an Google abgeben würde. GoogleCharts wurde dazu ja schon oft erwähnt.
Vielleicht könnte man komplett von rrdtool auf Charts umstellen?
Dazu fehlen mir die aber cgi-Kenntnisse.
Nicht falsch verstehen - rrd ist genial! Wäre da nur nicht die Last auf der Box...

Was denkst Du dazu?
 
Hallo cuma,

Patch anwenden geht so?
Im freetz-Trunkverzeichnis: "patch -p0 oneB.patch" ?

Danke

@matze1985

Danke :)
 
Zuletzt bearbeitet:
Code:
patch -p0 < oneB.patch
 
@meimi039: Zum sammeln der Daten finde ich rrdtool prima, da es einem die Arbeit abnimmt, die Daten zu verdichten. Die Anzeige finde ich auch etwas zäh, seit der 7270 aber kein Problem mehr. Wenn man "nice" im Image hat, wird es verwendet und sollte keine anderen Prozesse blockieren. Mir sind bislang keine Störungen aufgefallen.
Ein externer Dienst für die Graphiken würde bestimmt einen Geschwindigkeitsvorteil bringen. Nur leider ist zB bei GCharts der Syntax ganz anders. Ein Nachteil ist dann auch noch, dass es nur funktioniert wenn man online ist und solange der Anbieter nichts ändert oder sonstige Probleme hat. Ich habs eigentlich ganz gerne autark.
Vielleicht könnte man zunächst 2-Gleisig fahren?
Ein Pluginsystem für RRDstats würde auch noch ganz nett sein. Nur soll DigiTemp überhaupt in RRDstats bleiben?
 
"Autark" ist natürlich genau das Argument für rrd. Ich werde nächste Woche mal anfangen das zweite Gleis zu Scripten. Vielleicht kann dann jemand ein Package für Freetz draus machen.
Bis dahin baue ich mal nice mit ein...
 
Der Tip mit nice steht im menuconfig in der rrdstats-hilfe. ;-)
Willst du wirklich ein neues Package machen und die Daten auch neu sammeln? Vielleicht könnte man nur die momentanen Aufrufe für die Bilder ändern. Dann bräuchte man wohl eine einheitliche Schnittstelle.
Nachher kann man dann einfach zwischen den beiden wechseln
Wenn du es in RRDstas machst, warte besser noch ein bisschen da ich noch an DigiTemp bastele und es Überschneidungen geben könnte.
 
Hi cuma!
Ich versuche mal herauszufinden, wie rrd die Daten verdichtet - dann könnte man dieses Format vielleicht als Schnittstelle benutzen...
Ich überlege da aber erst noch einmal... ;-)
 
Mit
Code:
rrdtool xport DEF:temp=/NAME/OF/YOUR.rrd:temp:AVERAGE XPORT:temp
rückt rrdtool die Messerte raus. Wie das gemacht wird ist dann eigentlich egal
 
Moinsen,

kurze Frage. Ich bekomme diesen Fehler:
Error, serial port '' does not exists!
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
mv: cannot rename '.digitemprc': No such file or directory

liegts vllt am Aufruf von Digitemp?
Oder hab ich was vergessen?

Gruss kommu
 
@kommu: Hab leider RS232 vergessen, ich habe einen USB Adapter


Kleine Erweiterung:
-Eigene Seite unter "Status"
-Unterstützung für RS232 (jetzt wirklich)
-optionale Gruppen
-hier und da kleine Änderungen

Einspielen:
Code:
patch -p0 < /sonst/wo/name.patch
chmod +x make/rrdstats/files/root/usr/lib/cgi-bin/rrdstats/dt-init.cgi
rm  make/rrdstats/files/root/usr/lib/cgi-bin/rrdstats/rrddt.cgi
ln -s stats.cgi make/rrdstats/files/root/usr/lib/cgi-bin/rrdstats/rrddt.cgi
Vorher alten Patch entfernen!

EDIT: Aktueller Patch im 1. Post
 
Zuletzt bearbeitet:
hallo cuma,

patch mal eingespielt --> /dev/ttyUSB0 angegeben.

Do ch leider wieder die obige Fehlermeldung! Wo schreibst du die tty rein? kann ich das vllt manuell nachtragen?(hardcoden?)

kommu
 
Führ einfach mal digitemp im Terminal aus und schau ob es dort geht. Ohne geladene Treiber ist natürlich nix zu machen
 
na von der Konsole geht's ja!

/var/mod/root # digitemp -i -s /dev/ttyUSB0
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
..
Searching the 1-Wire LAN
102C7C980108005C : DS1820/DS18S20/DS1920 Temperature Sensor
1071699801080096 : DS1820/DS18S20/DS1920 Temperature Sensor
ROM #0 : 102C7C980108005C
ROM #1 : 1071699801080096
Wrote .digitemprc
 
Eigentlich wird das so aufgerufen, nur mit vertauschten Parametern. Schau mal in die /usr/lib/cgi-bin/rrdstats/dt-init.cgi
 
Kann es sein das er die tty nicht übergibt?! Den wenn ich das initialisieren ausführe steht ja keine tty angegeben!

Error, serial port '' does not exists!
 
Ok, Fehler gefunden. Die Variable wurde zwar an Digitemp übergeben, vorher allerdings nicht geladen.. Ich hab Post #11 aktualisiert, versuchs doch nochmal
EDIT: Funktioniert das Loggen der Daten? Nicht dass es dort auch noch ein Problem mit "-r" gibt
EDIT2: Beitrag 1 geupdated mit neuer Beschreibung, Bildern und Konfig-Beispiel. neueste Version vom Patch ist auch dort
 
So,das initialisieren funzt jetzt mit USBtoSerial Adapter :groesste: Danke!

Stopping rrdstats...done.
DigiTemp v3.5.0 Copyright 1996-2007 by Brian C. Lane
GNU Public License v2.0 - http://www.digitemp.com
Turning off all DS2409 Couplers
..Wrote .digitemprc

Searching the 1-Wire LAN
102************ : DS1820/DS18S20/DS1920 Temperature Sensor
107************ : DS1820/DS18S20/DS1920 Temperature Sensor

Ich habe es gerade erst in Betrieb genommen und werde weiter berichten!

Update: jetzt passt alles! Es werden hübsche Bildchen gemalt :)
 
Zuletzt bearbeitet:
Hallo!

Bin neu hier und muss sagen: "tolles Forum und tolles Projekt"

Habe mir Freetz heruntergeladen und ich kann mir auch ein Freetz-Image für meine FB 3170 erstellen. Leider habe ich unter dem Menüpunkt "Status" keinen Eintrag "DigiTemp":(

So habe ich es probiert:

Patch in das Freetz-Hauptverzeichnis kopiert und entpackt.
patch -p0 < oneB.patch ausgeführt
Image mit RRDTool, Digitemp, RRDStats und Downloader erstellt und die Dateien aus dem" outsource" Ordner auf meinen FTP-Server übertragen. Anschließend habe ich das Image per FW-update übertragen.
Downloader ausgeführt......
RRDTool und RRDStats sind auf der FB und funktionieren. :)
Digitemp funktioniert auch...... :)

Habe ich etwas übersehen??? :confused:

Danke und viele Grüße

JoJo
 
Servus,

der entpackte Patch sollte aber so geheissen haben: oneQ.patch

Wenn du es richtig gemacht hast, schreibt er nen paar Zeilen auf der Konsole.

Danach auch noch die Befehle aus dem 1.Post abgesetzt?

gruss kommu

P.S. im freetz findest du unter Punkt "Pakete" --> "rrdstats" dann ganz unten den digitemp Punkt , hast du auch initialisieren gedrückt? Und Haken bei aktivieren gesetzt?
 
Zuletzt bearbeitet:
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.