70 lines
1.8 KiB
Bash
70 lines
1.8 KiB
Bash
#
|
|
# Driver rainsensorqty - driver for measure the rain volume
|
|
# Author: androtto
|
|
# file "common.include.sh"
|
|
# common functions used by driver
|
|
# Version: 0.2.0
|
|
# Data: 11/Aug/2019
|
|
|
|
|
|
#note:
|
|
#RAINSENSORQTY_MONPID="$TMP_PATH/rainsensorqty_monitor.pid"
|
|
#
|
|
|
|
d() # short date & time
|
|
{
|
|
date '+%X-%x'
|
|
}
|
|
|
|
|
|
drv_rainsensorqty_writelog()
|
|
{
|
|
#2 variables - $1 function, $2 message
|
|
if [[ $2 =~ ERROR || $2 =~ WARNING || $2 =~ RAIN || $RAINSENSORQTY_verbose = yes ]] ; then
|
|
echo -e "$1 - `d`\t\t$2" >> "$LOG_OUTPUT_DRV_FILE"
|
|
# if [[ $($WC -c <"$LOG_OUTPUT_DRV_FILE") > $LOG_FILE_MAX_SIZE )) ; then
|
|
# $GZIP "$LOG_OUTPUT_DRV_FILE"
|
|
# $MV "${LOG_OUTPUT_DRV_FILE}.gz" "${LOG_OUTPUT_DRV_FILE}.$(date +%Y%m%d%H%M).gz"
|
|
# fi
|
|
fi
|
|
}
|
|
|
|
|
|
drv_rainsensorqty_check()
|
|
{
|
|
local f="drv_rainsensorqty_check"
|
|
|
|
if [[ -f "$RAINSENSORQTY_MONPID" ]] ; then
|
|
local pid=$( < "$RAINSENSORQTY_MONPID" )
|
|
drv_rainsensorqty_writelog $f "NORMAL: checking if $pid pid is running"
|
|
if ps -fp $pid >/dev/null ; then
|
|
drv_rainsensorqty_writelog $f "NORMAL: $pid pid is running"
|
|
return 0
|
|
else
|
|
drv_rainsensorqty_writelog $f "ERROR: $pid pid monitor process NOT running - $RAINSENSORQTY_MONPID file contains $pid"
|
|
return 1
|
|
fi
|
|
else
|
|
drv_rainsensorqty_writelog $f "ERROR: no raining monitor process file \$RAINSENSORQTY_MONPID"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
en_echo() # enhanched echo - check verbose variable
|
|
{
|
|
[[ $RAINSENSORQTY_verbose = yes ]] && echo "$(d) $*"
|
|
}
|
|
|
|
rain_history()
|
|
{
|
|
[[ ! -f $RAINSENSORQTY_HISTORY ]] && touch $RAINSENSORQTY_HISTORY
|
|
[[ ! -f $RAINSENSORQTY_LASTRAIN ]] && return 1
|
|
if grep -q ^$(<$RAINSENSORQTY_LASTRAIN)$ $RAINSENSORQTY_HISTORY ; then
|
|
: # do nothing
|
|
return 2
|
|
else
|
|
cat $RAINSENSORQTY_LASTRAIN >> $RAINSENSORQTY_HISTORY
|
|
return 0
|
|
fi
|
|
}
|