terminata implementazione gestione eventi
This commit is contained in:
@@ -1,23 +1,22 @@
|
||||
#
|
||||
# Triggered an event and executge associated scripts
|
||||
# $1 event
|
||||
# $2 cause
|
||||
#
|
||||
|
||||
function trigger_event {
|
||||
|
||||
## check_rain_online_after
|
||||
## check_rain_online_before
|
||||
## check_rain_online_change
|
||||
## check_rain_sensor_after
|
||||
## check_rain_sensor_before
|
||||
## check_rain_sensor_change
|
||||
## ev_close_after
|
||||
## ev_close_before
|
||||
## ev_open_after
|
||||
## ev_open_before
|
||||
## init_after
|
||||
## init_before
|
||||
# check_rain_online_after
|
||||
# check_rain_online_before
|
||||
# check_rain_online_change
|
||||
# check_rain_sensor_after
|
||||
# check_rain_sensor_before
|
||||
# check_rain_sensor_change
|
||||
# ev_close_after
|
||||
# ev_close_before
|
||||
# ev_open_after
|
||||
# ev_open_before
|
||||
# init_after
|
||||
# init_before
|
||||
|
||||
local EVENT="$1"
|
||||
local CAUSE="$2"
|
||||
@@ -28,11 +27,39 @@ function trigger_event {
|
||||
for f in $FILES
|
||||
do
|
||||
if [ -x "$f" ]; then
|
||||
$f "$EVENT" "$CAUSE" `date +%s` &> /dev/null &
|
||||
case "$EVENT" in
|
||||
"ev_open_before" | "ev_open_after")
|
||||
ALIAS="$2"
|
||||
FORCE="$3"
|
||||
$f "$EVENT" "$ALIAS" "$FORCE" `date +%s` &> /dev/null
|
||||
;;
|
||||
|
||||
"ev_close_before" | "ev_close_after")
|
||||
ALIAS="$2"
|
||||
$f "$EVENT" "$ALIAS" `date +%s` &> /dev/null
|
||||
;;
|
||||
|
||||
|
||||
"check_rain_sensor_before" | "check_rain_sensor_after" | "check_rain_sensor_change")
|
||||
STATE="$2"
|
||||
$f "$EVENT" "$STATE" `date +%s` &> /dev/null
|
||||
;;
|
||||
|
||||
"check_rain_online_before" | "check_rain_online_after" | "check_rain_online_change")
|
||||
STATE="$2"
|
||||
$f "$EVENT" "$STATE" `date +%s` &> /dev/null
|
||||
;;
|
||||
|
||||
*)
|
||||
$f "$EVENT" "$CAUSE" `date +%s` &> /dev/null
|
||||
;;
|
||||
esac
|
||||
|
||||
local ec=$?
|
||||
#echo "$EVENT ec=$ec" >> /tmp/piGarden.testevent
|
||||
if [ $ec -ne 0 ]; then
|
||||
log_write "Stop events chain for exit code $ec in $current_event_dir/$f"
|
||||
exit
|
||||
return $ec
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -29,6 +29,8 @@ function check_rain_online {
|
||||
then
|
||||
current_state_rain_online='rain'
|
||||
echo $local_epoch > "$STATUS_DIR/last_rain_online"
|
||||
else
|
||||
current_state_rain_online='norain'
|
||||
fi
|
||||
echo "$current_observation" > "$STATUS_DIR/last_weather_online"
|
||||
if [ "$current_state_rain_online" != "$last_state_rain_online" ]; then
|
||||
@@ -57,6 +59,7 @@ function check_rain_sensor {
|
||||
log_write "check_rain_sensor - now it's raining ($local_epoch)"
|
||||
#return $local_epoch
|
||||
else
|
||||
current_state_rain_sensor='norain'
|
||||
log_write "check_rain_sensor - now is not raining"
|
||||
fi
|
||||
if [ "$current_state_rain_sensor" != "$last_state_rain_sensor" ]; then
|
||||
|
||||
Reference in New Issue
Block a user