Hi! Update: 43hours running with "owread uncached" ZERO error! the script sleeps 5 seconds then read 7 1wire devices, it takes approx 4.5seconds more, then go to sleep again So approx 1700*7 readings, no error When the previous script was reading the directories I got a few errors. So I believe it's the search-rom algorythm vs the read scatchpad doing the difference. As mentioned by Jan it's better to use "owread uncahed" Well at least for now. I keep monitoring. I've modify the script to check not only the owread errors but also to check if readings are within acceptable range. Here is the script. Tomorrow I'll add a temp sensor... Wait & see
Best regards -- Guy #!/bin/sh # 5 Juin 2016 -- Script to check if any device disappear from 1wire bus COUNTER=0 while : do COUNTER=$(($COUNTER + 1)) sleep 5 # check every 5 seconds # This part here under takes almost 5sec (due to access to 1wire bus on 7 devices) owread /uncached/10.B6FAE5010800/temperature >/tmp/FileTmp1 2>&1 if [ $? -ne 0 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 10.B6FAE5010800 " >> /tmp/LogCheck1wire echo -n " Counter =$COUNTER" >> /tmp/LogCheck1wire cat /tmp/FileTmp1 >> /tmp/LogCheck1wire fi owread /uncached/10.9702E6010800/temperature >/tmp/FileTmp2 2>&1 if [ $? -ne 0 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 10.9702E6010800 " >> /tmp/LogCheck1wire echo -n " Counter =$COUNTER" >> /tmp/LogCheck1wire cat /tmp/FileTmp2 >> /tmp/LogCheck1wire fi owread /uncached/3A.546302000000/sensed.BYTE >/tmp/FileTmp3 2>&1 if [ $? -ne 0 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 3A.546302000000 " >> /tmp/LogCheck1wire echo -n " Counter =$COUNTER" >> /tmp/LogCheck1wire cat /tmp/FileTmp3 >> /tmp/LogCheck1wire fi owread /uncached/29.1C9E09000000/sensed.BYTE >/tmp/FileTmp4 2>&1 if [ $? -ne 0 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 29.1C9E09000000 " >> /tmp/LogCheck1wire echo -n " Counter =$COUNTER" >> /tmp/LogCheck1wire cat /tmp/FileTmp4 >> /tmp/LogCheck1wire fi owread /uncached/28.4E3066020000/temperature >/tmp/FileTmp5 2>&1 if [ $? -ne 0 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 28.4E3066020000 " >> /tmp/LogCheck1wire echo -n " Counter =$COUNTER" >> /tmp/LogCheck1wire cat /tmp/FileTmp5 >> /tmp/LogCheck1wire fi owread /uncached/3A.B36002000000/sensed.BYTE >/tmp/FileTmp6 2>&1 if [ $? -ne 0 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 3A.B36002000000 " >> /tmp/LogCheck1wire echo -n " Counter =$COUNTER" >> /tmp/LogCheck1wire cat /tmp/FileTmp6 >> /tmp/LogCheck1wire fi owread /uncached/26.FFD8F1000000/humidity >/tmp/FileTmp7 2>&1 if [ $? -ne 0 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 26.FFD8F1000000 " >> /tmp/LogCheck1wire echo -n " Counter =$COUNTER" >> /tmp/LogCheck1wire cat /tmp/FileTmp7 >> /tmp/LogCheck1wire fi cat /tmp/FileTmp* echo VALUE=`cat /tmp/FileTmp1` if [ `echo " $VALUE > 10 " | bc -l` -ne 1 ] || [ `echo " $VALUE < 40 " | bc -l` -ne 1 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 10.B6FAE5010800 NOT IN RANGE" >> /tmp/LogCheck1wire cat /tmp/FileTmp1 >> /tmp/LogCheck1wire echo " Counter =$COUNTER" >> /tmp/LogCheck1wire fi VALUE=`cat /tmp/FileTmp2` if [ `echo " $VALUE > 10 " | bc -l` -ne 1 ] || [ `echo " $VALUE < 40 " | bc -l` -ne 1 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 10.9702E6010800 NOT IN RANGE" >> /tmp/LogCheck1wire cat /tmp/FileTmp2 >> /tmp/LogCheck1wire echo " Counter =$COUNTER" >> /tmp/LogCheck1wire fi VALUE=`cat /tmp/FileTmp3` if [ `echo " $VALUE > -1 " | bc -l` -ne 1 ] || [ `echo " $VALUE < 4 " | bc -l` -ne 1 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 3A.546302000000 NOT IN RANGE" >> /tmp/LogCheck1wire cat /tmp/FileTmp3 >> /tmp/LogCheck1wire echo " Counter =$COUNTER" >> /tmp/LogCheck1wire fi VALUE=`cat /tmp/FileTmp4` if [ `echo " $VALUE > -1 " | bc -l` -ne 1 ] || [ `echo " $VALUE < 256 " | bc -l` -ne 1 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 29.1C9E09000000 NOT IN RANGE" >> /tmp/LogCheck1wire cat /tmp/FileTmp4 >> /tmp/LogCheck1wire echo " Counter =$COUNTER" >> /tmp/LogCheck1wire fi VALUE=`cat /tmp/FileTmp5` if [ `echo " $VALUE > 10 " | bc -l` -ne 1 ] || [ `echo " $VALUE < 40 " | bc -l` -ne 1 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 28.4E3066020000 NOT IN RANGE" >> /tmp/LogCheck1wire cat /tmp/FileTmp5 >> /tmp/LogCheck1wire echo " Counter =$COUNTER" >> /tmp/LogCheck1wire fi VALUE=`cat /tmp/FileTmp6` if [ `echo " $VALUE > -1 " | bc -l` -ne 1 ] || [ `echo " $VALUE < 4 " | bc -l` -ne 1 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 3A.B36002000000 NOT IN RANGE" >> /tmp/LogCheck1wire cat /tmp/FileTmp6 >> /tmp/LogCheck1wire echo " Counter =$COUNTER" >> /tmp/LogCheck1wire fi VALUE=`cat /tmp/FileTmp7` if [ `echo " $VALUE > 20 " | bc -l` -ne 1 ] || [ `echo " $VALUE < 99 " | bc -l` -ne 1 ]; then echo -n `date` >> /tmp/LogCheck1wire echo -n " 26.FFD8F1000000 NOT IN RANGE" >> /tmp/LogCheck1wire cat /tmp/FileTmp7 >> /tmp/LogCheck1wire echo " Counter =$COUNTER" >> /tmp/LogCheck1wire fi done ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports. https://ad.doubleclick.net/ddm/clk/305295220;132659582;e _______________________________________________ Owfs-developers mailing list Owfs-developers@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/owfs-developers