aggiunto informazioni cron in json_status

This commit is contained in:
lejubila
2016-12-04 16:31:58 +01:00
parent e5ec446a0d
commit 7c7c565a0b

View File

@@ -412,6 +412,9 @@ function list_alias {
} }
#
# $1 .. $6 parametri opzionali
#
function json_status { function json_status {
local json="" local json=""
local json_last_weather_online="\"\"" local json_last_weather_online="\"\""
@@ -421,6 +424,16 @@ function json_status {
local last_info="" local last_info=""
local last_warning="" local last_warning=""
local last_success="" local last_success=""
local with_get_cron="0"
local vret=""
for i in $1 $2 $3 $4 $5 $6
do
if [ $i = "get_cron" ]; then
with_get_cron="1"
fi
done
for i in $(seq $EV_TOTAL) for i in $(seq $EV_TOTAL)
do do
local a=EV"$i"_ALIAS local a=EV"$i"_ALIAS
@@ -457,9 +470,29 @@ function json_status {
local json_last_warning="\"warning\":\"$last_warning\"" local json_last_warning="\"warning\":\"$last_warning\""
local json_last_success="\"success\":\"$last_success\"" local json_last_success="\"success\":\"$last_success\""
json="{$json,$json_last_weather_online,$json_error,$json_last_info,$json_last_warning,$json_last_success,$json_last_rain_online,$json_last_rain_sensor}" local json_get_cron=""
if [ $with_get_cron = "1" ]; then
local values_open=""
local values_close=""
for i in $(seq $EV_TOTAL)
do
local a=EV"$i"_ALIAS
local av=${!a}
local crn="$(cron_get "open" $av)"
crn=`echo "$crn" | sed ':a;N;$!ba;s/\n/%%/g'`
values_open="\"$av\": \"$crn\", $values_open"
local crn="$(cron_get "close" $av)"
crn=`echo "$crn" | sed ':a;N;$!ba;s/\n/%%/g'`
values_close="\"$av\": \"$crn\", $values_close"
done
echo $json json_get_cron="\"open\": {$values_open},\"close\": {$values_close}"
fi
local json_cron="\"cron\":{$json_get_cron}"
json="{$json,$json_last_weather_online,$json_error,$json_last_info,$json_last_warning,$json_last_success,$json_last_rain_online,$json_last_rain_sensor,$json_cron}"
echo "$json"
# {"zones":{"1":{"name":"Zona_1","state":1},"2":{"name":"Zona_2","state":0}}} # {"zones":{"1":{"name":"Zona_1","state":1},"2":{"name":"Zona_2","state":0}}}
@@ -830,6 +863,23 @@ function get_cron_open {
} }
#
# Legge tutte le schedulazioni cron per chiudere una elettrovalvola
# $1 alias elettrovalvola
#
function get_cron_close {
local exists=`alias_exists $1`
if [ "check $exists" = "check FALSE" ]; then
log_write "Alias $1 not found"
echo "Alias $1 not found"
return 1
fi
cron_get "close" $1
}
# #
# Aggiunge una schedulazione cron per chiudere una elettrovalvola # Aggiunge una schedulazione cron per chiudere una elettrovalvola
# $1 alias elettrovalvola # $1 alias elettrovalvola
@@ -879,7 +929,7 @@ function show_usage {
echo -e "\t$NAME_SCRIPT list_alias view list of aliases solenoid" echo -e "\t$NAME_SCRIPT list_alias view list of aliases solenoid"
echo -e "\t$NAME_SCRIPT ev_status alias show status solenoid" echo -e "\t$NAME_SCRIPT ev_status alias show status solenoid"
echo -e "\t$NAME_SCRIPT ev_status_all show status solenoids" echo -e "\t$NAME_SCRIPT ev_status_all show status solenoids"
echo -e "\t$NAME_SCRIPT json_status show status in json format" echo -e "\t$NAME_SCRIPT json_status [get_cron] show status in json format"
echo -e "\t$NAME_SCRIPT check_rain_online check rain from http://api.wunderground.com/" echo -e "\t$NAME_SCRIPT check_rain_online check rain from http://api.wunderground.com/"
echo -e "\t$NAME_SCRIPT check_rain_sensor check rain from hardware sensor" echo -e "\t$NAME_SCRIPT check_rain_sensor check rain from hardware sensor"
echo -e "\t$NAME_SCRIPT close_all_for_rain close all solenoid if it's raining" echo -e "\t$NAME_SCRIPT close_all_for_rain close all solenoid if it's raining"
@@ -903,6 +953,7 @@ function show_usage {
echo -e "\t$NAME_SCRIPT get_cron_open alias get all crontab for open a solenoid" echo -e "\t$NAME_SCRIPT get_cron_open alias get all crontab for open a solenoid"
echo -e "\t$NAME_SCRIPT add_cron_close alias m h dom mon dow add crontab for close a solenoid" echo -e "\t$NAME_SCRIPT add_cron_close alias m h dom mon dow add crontab for close a solenoid"
echo -e "\t$NAME_SCRIPT del_cron_close alias remove all crontab for close a solenoid" echo -e "\t$NAME_SCRIPT del_cron_close alias remove all crontab for close a solenoid"
echo -e "\t$NAME_SCRIPT get_cron_close alias get all crontab for close a solenoid"
echo -e "\n" echo -e "\n"
echo -e "\t$NAME_SCRIPT debug1 [parameter]|[parameter]|..] Run debug code 1" echo -e "\t$NAME_SCRIPT debug1 [parameter]|[parameter]|..] Run debug code 1"
echo -e "\t$NAME_SCRIPT debug2 [parameter]|[parameter]|..] Run debug code 2" echo -e "\t$NAME_SCRIPT debug2 [parameter]|[parameter]|..] Run debug code 2"
@@ -939,7 +990,6 @@ function stop_socket_server {
kill -9 `cat "$TCPSERVER_PID_FILE"` 2> /dev/null kill -9 `cat "$TCPSERVER_PID_FILE"` 2> /dev/null
rm -f "$TCPSERVER_PID_FILE" rm -f "$TCPSERVER_PID_FILE"
Garden.shecho -e "\t$NAME_SCRIPT set_cron_close_all_for_rain\tset crontab for close all solenoid when raining"
} }
function socket_server_command { function socket_server_command {
@@ -963,7 +1013,7 @@ function socket_server_command {
case "$arg1" in case "$arg1" in
status) status)
json_status json_status $arg2 $arg3 $arg4 $arg5 $arg6 $arg7
;; ;;
open) open)
@@ -1152,7 +1202,7 @@ case "$1" in
;; ;;
json_status) json_status)
json_status json_status $2 $3 $4 $5 $6
;; ;;
check_rain_online) check_rain_online)
@@ -1259,6 +1309,10 @@ case "$1" in
del_cron_close $2 del_cron_close $2
;; ;;
get_cron_close)
get_cron_close $2
;;
debug1) debug1)
debug1 $2 $3 $4 $5 debug1 $2 $3 $4 $5
;; ;;