Leider kann das Tool zabbix_sender nicht mit Fließkommazahlen umgehen. Bekommt man z.B. Temperatur-Messwerte von 23,5 dann werden diese nicht an den Zabbix Server gesendet.
Man kann sich aber wie folgt behelfen:
(Ich geh von der Annahme aus, dass der Befehl get-temp-usb einen Wert von 23,5 liefert.)
Folgende „Tricks“ wende ich dabei an:
... |tr , .
Hierbei tausche ich das komme mit einem Punkt. Zabbix erwartet hier einen Wert a la 23.5 und eben nicht 23,5 !
Ich multipliziere den Wert mit Hundert und schneide die Nachkommazahlen ab. Aus 23.5 wird 2350.00 und anschliessend 2350
echo wohnzimmer*100 |bc -l |cut -d "." -f1
Diesen Wert kann ich problemlos mit dem zabbix_sender zum Server schicken.
zabbix_sender -k sensor.wohnzimmer.item -o $( get-wohnzimmer ) -z $SERVER -s $SENDER
In Zabbix muss natürlich ein korrektes Item vorhanden sein welches die Daten entgegen und wieder durch hundert teilt.
In der Konfiguration legen wir zu passenden Host (exakt wie im Script in der Variable SENDER angegeben) ein entsprechendes Item (im Beispiel sensor.wohnzimmer.item) an. Der Typ muss natürlich Float sein und der Trick der Umrechnung passiert durch den „Custom multiplier“ 0.01, sprich der Wert wird wieder durch 100 geteilt.