Ich würde gerne meine 1Wire Daten Minutengenau mittels eibd versenden um die Werte über Linknx Visu darzustellen. Nach langem suchen im Netz bin ich auf folgenden Code gestoßen! Soweit geht das prima aber leider nur Temperaturwerte von -40 bis +40. Leider reichen mir die +40 nicht da ich auch die Heizung mit darstellen möchte.
Kennt sich jemand mit der bash Programierung aus um mir unter die Arme zu greifen?
Ich steige da leider nicht durch
Gibt es einen besseren weg? Ist es möglich mit Linknx direkt die 1wire Daten abzurufen ?
Gruß Maik
Kennt sich jemand mit der bash Programierung aus um mir unter die Arme zu greifen?
Code:
#!/bin/sh var=`exec /opt/owfs/bin/owdir -s 4304 /28.6C858B020000/temperature | tr -d " "` #var=-41.00 nb=0 var=$(echo "$var*100/1" |bc) #/1 pour suppression de la virgule if [ $var -gt 0 ] then while [ $var -gt 2047 ] do nb=$nb+1 var=$(echo "$var/2" |bc) done nb=$(echo "$nb*2048" |bc) var=$(echo "ibase=10;obase=16;$var+$nb"|bc) elif [ $var -lt 0 ] then var=$(echo "$var*-1" |bc) #*1 pour revenir en positif while [ $var -gt 2047 ] do nb=$nb+1 var=$(echo "$var/2" |bc) done nb=$(echo "$nb*2048" |bc) echo $var var=$(echo "ibase=10;obase=16;4096-$var+$nb+32768-2048"|bc) fi #verification si 4 caract if [ ${#var} = 1 ] then var="00 0${var}" elif [ ${#var} = 2 ] then var="00 ${var}" elif [ ${#var} = 3 ] then var="0${var}" var1=`expr substr $var 1 2` var2=`expr substr $var 3 2` var="${var1} ${var2}" elif [ ${#var} = 4 ] then var1=`expr substr $var 1 2` var2=`expr substr $var 3 2` var="${var1} ${var2}" fi exec /usr/bin/groupwrite ip:192.168.2.41 10/0/3 $var

Gibt es einen besseren weg? Ist es möglich mit Linknx direkt die 1wire Daten abzurufen ?
Gruß Maik
Kommentar