1wire_wetterstationsdaten_im_dokuwiki
1Wire Wetterstationsdaten im DokuWiki
Gedacht ist das hier für:
- http://www.fuchs-shop.com/de/shop/6/1/13372331/ in Kombination mit
und benötigt:
- snmpget
#!/bin/bash export LANG=de_DE.UTF-8 HOST="192.168.100.44" FILE="/var/www/dokuwiki/data/pages/wtts.txt" GET="/usr/bin/snmpget" P="/usr/local/wetter" TEMP=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.1.1 | cut -d '"' -f 2` HUDM=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.2.1 | cut -d '"' -f 2` DEWP=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.3.1 | cut -d '"' -f 2` BPMB=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.6.1 | cut -d '"' -f 2` LIGT=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.8.1 | cut -d '"' -f 2` #HUDI=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.4.1 | cut -d '"' -f 2` #HETI=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.5.1 | cut -d '"' -f 2` #BPHG=`$GET -v1 -c public $HOST 1.3.6.1.4.1.31440.10.15.1.7.1 | cut -d '"' -f 2` test -f $P/temp_max || echo $TEMP > $P/temp_max test -f $P/temp_min || echo $TEMP > $P/temp_min test -f $P/hudm_max || echo $HUDM > $P/hudm_max test -f $P/hudm_min || echo $HUDM > $P/hudm_min test -f $P/dewp_max || echo $DEWP > $P/dewp_max test -f $P/dewp_min || echo $DEWP > $P/dewp_min test -f $P/bpmb_max || echo $BPMB > $P/bpmb_max test -f $P/bpmb_min || echo $BPMB > $P/bpmb_min test -f $P/ligt_max || echo $LIGT > $P/ligt_max test -f $P/ligt_min || echo $LIGT > $P/ligt_min TEMP_MAX=`cat $P/temp_max` TEMP_MIN=`cat $P/temp_min` HUDM_MAX=`cat $P/hudm_max` HUDM_MIN=`cat $P/hudm_min` DEWP_MAX=`cat $P/dewp_max` DEWP_MIN=`cat $P/dewp_min` BPMB_MAX=`cat $P/bpmb_max` BPMB_MIN=`cat $P/bpmb_min` LIGT_MAX=`cat $P/ligt_max` LIGT_MIN=`cat $P/ligt_min` if [ `echo "$TEMP < $TEMP_MIN" | bc` -eq 1 ]; then echo $TEMP > $P/temp_min TEMP_MIN=$TEMP fi if [ `echo "$TEMP > $TEMP_MAX" | bc` -eq 1 ]; then echo $TEMP > $P/temp_max TEMP_MAX=$TEMP fi if [ `echo "$HUDM < $HUDM_MIN" | bc` -eq 1 ]; then echo $HUDM > $P/hudm_min HUDM_MIN=$HUDM fi if [ `echo "$HUDM > $HUDM_MAX" | bc` -eq 1 ]; then echo $HUDM > $P/hudm_max HUDM_MAX=$HUDM fi if [ `echo "$DEWP < $TEMP_MIN" | bc` -eq 1 ]; then echo $DEWP > $P/dewp_min DEWP_MIN=$DEWP fi if [ `echo "$DEWP > $DEWP_MAX" | bc` -eq 1 ]; then echo $DEWP > $P/dewp_max DEWP_MAX=$DEWP fi if [ `echo "$BPMB < $BPMB_MIN" | bc` -eq 1 ]; then echo $BPMB > $P/bpmb_min BPMB_MIN=$BPMB fi if [ `echo "$BPMB > $BPMB_MAX" | bc` -eq 1 ]; then echo $BPMB > $P/bpmb_max BPMB_MAX=$BPMB fi if [ `echo "$LIGT < $LIGT_MIN" | bc` -eq 1 ]; then echo $LIGT > $P/ligt_min LIGT_MIN=$LIGT fi if [ `echo "$LIGT > $LIGT_MAX" | bc` -eq 1 ]; then echo $LIGT > $P/ligt_max LIGT_MAX=$LIGT fi #rrdtool update $P/temp.rrd N:$TEMP #rrdtool update $P/hudm.rrd N:$HUDM #rrdtool update $P/dewp.rrd N:$DEWP #rrdtool update $P/bpmb.rrd N:$BPMB #rrdtool update $P/ligt.rrd N:$LIGT TEMP=`echo $TEMP | sed 's/\./,/g'` TEMP_MIN=`echo $TEMP_MIN | sed 's/\./,/g'` TEMP_MAX=`echo $TEMP_MAX | sed 's/\./,/g'` TEMP_MIN_T=`date -r $P/temp_min +%H:%M` TEMP_MAX_T=`date -r $P/temp_max +%H:%M` HUDM=`echo $HUDM | sed 's/\./,/g'` HUDM_MIN=`echo $HUDM_MIN | sed 's/\./,/g'` HUDM_MAX=`echo $HUDM_MAX | sed 's/\./,/g'` HUDM_MIN_T=`date -r $P/hudm_min +%H:%M` HUDM_MAX_T=`date -r $P/hudm_max +%H:%M` DEWP=`echo $DEWP | sed 's/\./,/g'` DEWP_MIN=`echo $DEWP_MIN | sed 's/\./,/g'` DEWP_MAX=`echo $DEWP_MAX | sed 's/\./,/g'` DEWP_MIN_T=`date -r $P/dewp_min +%H:%M` DEWP_MAX_T=`date -r $P/dewp_max +%H:%M` BPMB=`echo $BPMB | sed 's/\./,/g'` BPMB_MIN=`echo $BPMB_MIN | sed 's/\./,/g'` BPMB_MAX=`echo $BPMB_MAX | sed 's/\./,/g'` BPMB_MIN_T=`date -r $P/bpmb_min +%H:%M` BPMB_MAX_T=`date -r $P/bpmb_max +%H:%M` LIGT=`echo $LIGT | sed 's/\./,/g'` LIGT_MIN=`echo $LIGT_MIN | sed 's/\./,/g'` LIGT_MAX=`echo $LIGT_MAX | sed 's/\./,/g'` LIGT_MIN_T=`date -r $P/ligt_min +%H:%M` LIGT_MAX_T=`date -r $P/ligt_max +%H:%M` # Tabelle generiern echo "|**Wetter**| jetzt || Minimum ||| Maximum |||" > $FILE"_" printf "|Temperatur:| %7.1f|°|%s | %7.1f|°|%s | %7.1f|°|\n" $TEMP $TEMP_MIN_T $TEMP_MIN $TEMP_MAX_T $TEMP_MAX >> $FILE"_" printf "|Luftfeuchtigkeit:| %7.1f|%%|%s | %7.1f|%%|%s | %7.1f|%%|\n" $HUDM $HUDM_MIN_T $HUDM_MIN $HUDM_MAX_T $HUDM_MAX >> $FILE"_" printf "|Taupunkt:| %7.1f|°|%s | %7.1f|°|%s | %7.1f|°|\n" $DEWP $DEWP_MIN_T $DEWP_MIN $DEWP_MAX_T $DEWP_MAX >> $FILE"_" printf "|Luftdruck:| %7.1f|hp|%s | %7.1f|hp|%s | %7.1f|hp|\n" $BPMB $BPMB_MIN_T $BPMB_MIN $BPMB_MAX_T $BPMB_MAX >> $FILE"_" printf "|Helligkeit:| %7.1f|Lux|%s | %7.1f|Lux|%s | %7.1f|Lux|\n" $LIGT $LIGT_MIN_T $LIGT_MIN $LIGT_MAX_T $LIGT_MAX >> $FILE"_" echo "|"`date`"|||||||||" >> $FILE"_" mv $FILE"_" $FILE
Crontab:
*/1 * * * * root /usr/local/wetter/get.sh >/var/log/wetter.log 2>&1 0 0 * * * root rm -f /usr/local/wetter/*_*
Ergebnis:
1wire_wetterstationsdaten_im_dokuwiki.txt · Zuletzt geändert: 2017/03/17 11:37 von 127.0.0.1