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
[email protected]
https://lists.sourceforge.net/lists/listinfo/owfs-developers