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

Reply via email to