Hallo zusammen,
bei der Hitze die Tage hat mich interessiert wie warm es bei mir in der Wohnung ist. Daher hatte ich vor ca. 2 Wochen einen TEMPer2 Sensor bestellt. Leider ist er erst heute angekommen, nachdem die Hitze vorbei ist. Spielt aber keine Rolle, ich habe es trotzdem kurz umgesetzt und möchte es mit euch teilen, da ich keine komplette Anleitung gefunden habe.
Als erstes benötigt ihr die libusb-dev Library.
Dann könnt ihr den Sensor anschliessen. Im dmesg sollte jetzt sowas in der Art auftauchen:
[ 3.629522] input: RDing TEMPer2_M12_V1.3 as /devices/platform/bcm2708_usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0C45:7401.0001/input/input0
[ 3.645500] hid-generic 0003:0C45:7401.0001: input,hidraw0: USB HID v1.10 Keyboard [RDing TEMPer2_M12_V1.3] on usb-bcm2708_usb-1.2/input0
[ 3.674249] hid-generic 0003:0C45:7401.0002: hiddev0,hidraw1: USB HID v1.10 Device [RDing TEMPer2_M12_V1.3] on usb-bcm2708_usb-1.2/input1
Es gibt mehrere Treiber für den TEMPer2, ich habe mich für den pcsensor entschieden, da ich die CLI Ausgabe besser finde.
git clone https://github.com/peterfarsinsen/pcsensor
cd pcsensor
make
cp pcsensor /usr/local/bin
cp 99-tempsensor.rules /lib/udev/rules.d
reboot
Mit dem Befehl pcsensor bekommt ihr jetzt die Temperatur Ausgabe für den internen und externen Temperatursensor:
# pcsensor
2015/08/18 19:07:19
Temperature (internal) 87.01F 30.56C
Temperature (external) 79.93F 26.62C
Für Munin habe ich ein einfaches, Quick&Dirty Script geschrieben. Der pcsensor hat zwar eine MRTG kompatible Ausgabe, aber die ist bei mir Fehlerhaft. Drum hole ich mir im Munin Script die Temperatur mit cut, head und tail. Man könnte es mit awk bestimmt schicker machen, aber nicht mehr so gut lesbar.
Ihr erstellt die Datei /usr/share/munin/plugins/tempsensor mit folgendem Inhalt:
#!/bin/sh
case $1 in
config)
cat <<'EOM'
graph_title Temperatur
graph_vlabel Temperatur Celisus
tempint.label Temperatur Intern
tempext.label Temperatur Extern
graph_category sensors
graph_info TEMPer2_M12_V1.3 Temperatur
EOM
exit 0;;
esac
printf "tempint.value "
/usr/local/bin/pcsensor -c -m | head -1
printf "tempext.value "
/usr/local/bin/pcsensor -c | tail -1 | cut -d' ' -f3 | cut -c 1-5
Alles anzeigen
Und verlinkt dann nach /etc/munin/plugins
In der Config-Datei /etc/munin/plugin-conf.d/munin-node müsst ihr folgendes noch eintragen:
Mit munin-run tempsensor könnt ihr jetzt überprüfen ob das Script sauber läuft und danach den Munin-Node neu starten und beim nächsten Update findet ihr es dann auf der Munin Seite.
Das war es schon und viel Spaß.
Gruß,
MacMarc
Nachtrag: Ich habe im pcsensor.c eine Änderung gemacht, damit die Ausgabe mit -m auch korrekt ist. Hier könnt ihr das diff sehen. https://github.com/peterfarsinsen…MacMarc:patch-1