version 0.2.1

This commit is contained in:
androtto
2019-09-02 14:42:29 +02:00
parent e2eda96f2c
commit 0b34b7010f
14 changed files with 267 additions and 75 deletions

View File

@@ -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