====== Daten aus fhem holen ====== #!/bin/bash # # script to read FHEM values # round() { echo $(LANG=C printf %.$2f $(echo "scale=$2;(((10^$2)*$1)+0.5)/(10^$2)" | bc)) }; # arg=$1 # #-- get FHEM values alarm='{Value("WZ.SPF.alarm")."|"}' warn='{Value("WZ.SPF.warn")."|"}' scharf='{AttrVal("AAA","level6xec","")}' aowb='{Value("A.OWB")}' aowbt='{Value("A.OWB.T")}' wzowm='{Value("WZ.OWM")}' nt5000a='{$defs{"nt5000"}{"STATE"}}' nt5000b='{$defs{"nt5000"}{"READINGS"}{"Wd"}{"VAL"}}' everb='{Value("E.Verb")}' gverb='{Value("G.Verb")}' FHEM=`echo -e "$alarm;$warn;$scharf;$aowb;$aowbt;$wzowm;$everb;$gverb;$nt5000b;$nt5000a" | socat -t50 - TCP::7072` # #--isolate separate values alarm=`echo $FHEM | cut -d '|' -f1` warn=`echo $FHEM | cut -d '|' -f2 | sed 's/^ *//'` FHEM3=`echo $FHEM | cut -d '|' -f3` scharf=`echo $FHEM3 | awk '{print $1}' | sed 's/sharp/scharf/'` rHa=$(round `echo $FHEM3 | awk '{print $3}'` 0) Ta=$(round `echo $FHEM3 | awk '{print $15}'` 1) pa=$(round `echo $FHEM3 | awk '{print $12}'` 0) rHi=$(round `echo $FHEM3 | awk '{print $18}'` 0) Ti=$(round `echo $FHEM3 | awk '{print $21}'` 1) evp=$(round `echo $FHEM3 | awk '{print $27}'` 2) evw=$(round `echo $FHEM3 | awk '{print $24}'` 1) gvp=$(round `echo $FHEM3 | awk '{print $36}'` 2) gvw=$(round `echo $FHEM3 | awk '{print $33}'` 2) pvpraw=`echo $FHEM3 | awk '{print $42}'` pvp=$(round $pvpraw 2) pvw=$(round `echo $FHEM3 | awk '{print $41}'` 1) # if [ "$arg" == "show" ]; then echo "alarm=$alarm warn=$warn => $scharf; Climate=>$rHa $Ta $pa $rHi $Ti; PV=> $pvpraw $pvp $pvw; EV=> $evp $evw; GV=>$gvp $gvw" fi