terminata implementazione gestione eventi
This commit is contained in:
14
events/scripts/testevent.sh
Executable file
14
events/scripts/testevent.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Send mail on triggered event
|
||||||
|
#
|
||||||
|
# $1 = event
|
||||||
|
EVENT="$1"
|
||||||
|
P2="$2"
|
||||||
|
P3="$3"
|
||||||
|
P4="$4"
|
||||||
|
P5="$5"
|
||||||
|
|
||||||
|
echo "$(date) $EVENT $P2 $P3 $P4 $P5" >> /tmp/piGarden.testevent
|
||||||
|
|
||||||
|
|
||||||
14
events/scripts/testeventbreak.sh
Executable file
14
events/scripts/testeventbreak.sh
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Send mail on triggered event
|
||||||
|
#
|
||||||
|
# $1 = event
|
||||||
|
EVENT="$1"
|
||||||
|
P2="$2"
|
||||||
|
P3="$3"
|
||||||
|
P4="$4"
|
||||||
|
P5="$5"
|
||||||
|
|
||||||
|
echo "testevent break $(date) $EVENT $P2 $P3 $P4 $P5" >> /tmp/piGarden.testevent
|
||||||
|
|
||||||
|
exit 1
|
||||||
@@ -1,23 +1,22 @@
|
|||||||
#
|
#
|
||||||
# Triggered an event and executge associated scripts
|
# Triggered an event and executge associated scripts
|
||||||
# $1 event
|
# $1 event
|
||||||
# $2 cause
|
|
||||||
#
|
#
|
||||||
|
|
||||||
function trigger_event {
|
function trigger_event {
|
||||||
|
|
||||||
## check_rain_online_after
|
# check_rain_online_after
|
||||||
## check_rain_online_before
|
# check_rain_online_before
|
||||||
## check_rain_online_change
|
# check_rain_online_change
|
||||||
## check_rain_sensor_after
|
# check_rain_sensor_after
|
||||||
## check_rain_sensor_before
|
# check_rain_sensor_before
|
||||||
## check_rain_sensor_change
|
# check_rain_sensor_change
|
||||||
## ev_close_after
|
# ev_close_after
|
||||||
## ev_close_before
|
# ev_close_before
|
||||||
## ev_open_after
|
# ev_open_after
|
||||||
## ev_open_before
|
# ev_open_before
|
||||||
## init_after
|
# init_after
|
||||||
## init_before
|
# init_before
|
||||||
|
|
||||||
local EVENT="$1"
|
local EVENT="$1"
|
||||||
local CAUSE="$2"
|
local CAUSE="$2"
|
||||||
@@ -28,11 +27,39 @@ function trigger_event {
|
|||||||
for f in $FILES
|
for f in $FILES
|
||||||
do
|
do
|
||||||
if [ -x "$f" ]; then
|
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=$?
|
local ec=$?
|
||||||
|
#echo "$EVENT ec=$ec" >> /tmp/piGarden.testevent
|
||||||
if [ $ec -ne 0 ]; then
|
if [ $ec -ne 0 ]; then
|
||||||
log_write "Stop events chain for exit code $ec in $current_event_dir/$f"
|
log_write "Stop events chain for exit code $ec in $current_event_dir/$f"
|
||||||
exit
|
return $ec
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ function check_rain_online {
|
|||||||
then
|
then
|
||||||
current_state_rain_online='rain'
|
current_state_rain_online='rain'
|
||||||
echo $local_epoch > "$STATUS_DIR/last_rain_online"
|
echo $local_epoch > "$STATUS_DIR/last_rain_online"
|
||||||
|
else
|
||||||
|
current_state_rain_online='norain'
|
||||||
fi
|
fi
|
||||||
echo "$current_observation" > "$STATUS_DIR/last_weather_online"
|
echo "$current_observation" > "$STATUS_DIR/last_weather_online"
|
||||||
if [ "$current_state_rain_online" != "$last_state_rain_online" ]; then
|
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)"
|
log_write "check_rain_sensor - now it's raining ($local_epoch)"
|
||||||
#return $local_epoch
|
#return $local_epoch
|
||||||
else
|
else
|
||||||
|
current_state_rain_sensor='norain'
|
||||||
log_write "check_rain_sensor - now is not raining"
|
log_write "check_rain_sensor - now is not raining"
|
||||||
fi
|
fi
|
||||||
if [ "$current_state_rain_sensor" != "$last_state_rain_sensor" ]; then
|
if [ "$current_state_rain_sensor" != "$last_state_rain_sensor" ]; then
|
||||||
|
|||||||
@@ -118,9 +118,10 @@ function ev_open {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
trigger_event "ev_open_before" "$1" "$2"
|
trigger_event "ev_open_before" "$1" "$2"
|
||||||
if [ $? -eq 0 ]; then
|
if [ $? -ne 0 ]; then
|
||||||
log_write "Solenoid '$1' not open due to external event"
|
log_write "Solenoid '$1' not open due to external event"
|
||||||
message_write 'warning' "Solenoid not open due to external event"
|
message_write 'warning' "Solenoid not open due to external event"
|
||||||
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Dall'alias dell'elettrovalvola recupero il numero e dal numero recupero gpio da usare
|
# Dall'alias dell'elettrovalvola recupero il numero e dal numero recupero gpio da usare
|
||||||
@@ -797,6 +798,7 @@ fi
|
|||||||
. "$DIR_SCRIPT/include/cron.include.sh"
|
. "$DIR_SCRIPT/include/cron.include.sh"
|
||||||
. "$DIR_SCRIPT/include/socket.include.sh"
|
. "$DIR_SCRIPT/include/socket.include.sh"
|
||||||
. "$DIR_SCRIPT/include/rain.include.sh"
|
. "$DIR_SCRIPT/include/rain.include.sh"
|
||||||
|
. "$DIR_SCRIPT/include/events.include.sh"
|
||||||
|
|
||||||
LAST_INFO_FILE="$STATUS_DIR/last_info"
|
LAST_INFO_FILE="$STATUS_DIR/last_info"
|
||||||
LAST_WARNING_FILE="$STATUS_DIR/last_worning"
|
LAST_WARNING_FILE="$STATUS_DIR/last_worning"
|
||||||
|
|||||||
Reference in New Issue
Block a user