version 0.2.1
This commit is contained in:
@@ -4,23 +4,37 @@
|
||||
# Author: androtto
|
||||
# file "drv_rainsensorqty_monitor.sh"
|
||||
# monitor script
|
||||
# Version: 0.2.0
|
||||
# Data: 11/Aug/2019
|
||||
# Version: 0.2.1
|
||||
# Data: 29/Aug/2019
|
||||
|
||||
resetcounter()
|
||||
{
|
||||
(( counter = 0 ))
|
||||
drv_rainsensorqty_writelog $f "SIGUSR1 received after last PULSE - counter resetted" &
|
||||
echo "SIGUSR1 received after last PULSE - counter resetted"
|
||||
}
|
||||
|
||||
###############
|
||||
# MAIN #
|
||||
###############
|
||||
|
||||
trap "resetcounter" SIGUSR1
|
||||
|
||||
DIRNAME="$( dirname $0 )"
|
||||
f="$(basename $0)"
|
||||
. $DIRNAME/common.include.sh
|
||||
set_var="$DIRNAME/.set_var"
|
||||
TMP_PATH="/run/shm"
|
||||
if [ ! -d "$TMP_PATH" ]; then
|
||||
TMP_PATH="/tmp"
|
||||
fi
|
||||
|
||||
if [[ -f "$set_var" ]] ; then
|
||||
en_echo "NORMAL: file $set_var found - getting variables"
|
||||
. "$set_var"
|
||||
RAINSENSORQTY_VAR=$TMP_PATH/.rainsensorqty_var
|
||||
|
||||
if [[ -f "$RAINSENSORQTY_VAR" ]] ; then
|
||||
en_echo "NORMAL: file $RAINSENSORQTY_VAR found - getting variables"
|
||||
. "$RAINSENSORQTY_VAR"
|
||||
else
|
||||
echo "ERROR: $set_var not found"
|
||||
echo "ERROR: $RAINSENSORQTY_VAR not found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@@ -52,23 +66,26 @@ en_echo "---- NEW RUN "
|
||||
while true
|
||||
do
|
||||
before=`date +%s`
|
||||
sleep $RAINSENSOR_ANTIBOUNCE
|
||||
en_echo "WAITING FOR PULSE"
|
||||
sleep $RAINSENSOR_DEBOUNCE
|
||||
en_echo "WAITING FOR $RAINSENSORQTY_PULSE PULSE"
|
||||
$GPIO -g wfi $gpio_port $RAINSENSORQTY_PULSE
|
||||
now=`date +%s`
|
||||
(( elapsed = now - before ))
|
||||
if (( elapsed >= RAINSENSORQTY_SECSBETWEENRAINEVENT )) ; then
|
||||
(( counter=0 ))
|
||||
drv_rainsensorqty_writelog $f "first drops after $elapsed seconds since last rain ( greater than $RAINSENSORQTY_SECSBETWEENRAINEVENT )- new cycle - waiting for $( $JQ -n "$RAINSENSORQTY_LOOPSFORSETRAINING * $MMEACH" )" &
|
||||
drv_rainsensorqty_writelog $f "first drops after $elapsed seconds since last rain ( greater than $RAINSENSORQTY_SECSBETWEENRAINEVENT )- new cycle - waiting for $( $JQ -n "$RAINSENSORQTY_LOOPSFORSETRAINING * $MMEACH" ) mm of rain" &
|
||||
echo "NEW CYCLE"
|
||||
rain_history
|
||||
fi
|
||||
(( counter+=1 ))
|
||||
en_echo "PULSE RECEIVED (counter $counter)"
|
||||
en_echo "$RAINSENSORQTY_PULSE PULSE #$counter RECEIVED"
|
||||
echo "$now:$counter" > ${RAINSENSORQTY_STATE} &
|
||||
echo "$now:$counter" >> ${RAINSENSORQTY_STATE_HIST} &
|
||||
MMWATER=$( $JQ -n "$counter*$MMEACH" )
|
||||
text=$(printf "%.2f mm height (loop %d)" $MMWATER $counter )
|
||||
text=$(printf "%.2f mm height (#%d pulse)" $MMWATER $counter )
|
||||
if (( counter >= RAINSENSORQTY_LOOPSFORSETRAINING )) ; then
|
||||
drv_rainsensorqty_writelog $f "RAINING - $text" &
|
||||
echo "$(date +%s):$counter" > ${RAINSENSORQTY_LASTRAIN}
|
||||
echo "$now:$counter" > ${RAINSENSORQTY_LASTRAIN}
|
||||
else
|
||||
drv_rainsensorqty_writelog $f "now is $text" &
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user