diff --git a/powerwall.sh b/powerwall.sh index dded349e..89176fc5 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -326,7 +326,7 @@ POWERLOGGER_SERVICE(){ done } -RESTART_SERVICES(){ +RESTARTALL_SERVICES(){ STOPALL_SERVICES sleep 5s STARTALL_SERVICES @@ -553,7 +553,7 @@ fi services) [ "${2}" == "stop" ] && STOPALL_SERVICES [ "${2}" == "start" ] && STARTALL_SERVICES - [ "${2}" == "restart" ] && RESTART_SERVICES + [ "${2}" == "restart" ] && RESTARTALL_SERVICES [ "${2}" == "status" ] && CHECK_SERVICES ;; checktemp) CHECKTEMP ${2};; @@ -565,32 +565,44 @@ fi shutdown_servers) SHUTDOWN_SERVERS ${2};; service) - if [ "${3}" = "start" ] || [ "${3}" = "" ]; then - [ "${2}" = "temp"] CHECKTEMP_SERVICE - [ "${2}" = "power"] CHECKPOWER_SERVICE - [ "${2}" = "powerlogger"] CHECKTEMP_SERVICE - - elif [ "${3}" = "stop" ]; then - if [ "${2}" = "temp"]; then - STOP_SERVICE temp - for SENSOR in ${!SENSOR_ID[@]}; do - logtemp=${LOGFOLDER}/log-temp-${SENSOR} - echo "(`date +'%Y-%m-%d %H:%M:%S'`) - ${SENSOR} - Service Stopped" >> ${logtemp} - done - - elif [ "${2}" = "power"]; then - STOP_SERVICE ACV - echo "(`date +'%Y-%m-%d %H:%M:%S'`) Service Stopped" >> ${logpower} - - elif [ "${2}" = "powerlogger"]; then - STOP_SERVICE powerlogger - + if [ "${2}" = "all" ]; then + if [ "${3}" == "stop" ]; then + STOPALL_SERVICES + elif [ "${3}" == "start" ]; then + STARTALL_SERVICES + elif [ "${3}" == "restart" ]; then + RESTARTALL_SERVICES + elif [ "${3}" == "status" ]; then + CHECK_SERVICES fi + else + if [ "${3}" = "start" ] || [ "${3}" = "" ]; then + [ "${2}" = "temp"] CHECKTEMP_SERVICE + [ "${2}" = "power"] CHECKPOWER_SERVICE + [ "${2}" = "powerlogger"] CHECKTEMP_SERVICE - elif [ "${3}" = "restart" ]; then - /usr/local/bin/powerwall service ${2} stop - slep 2s - /usr/local/bin/powerwall service ${2} start + elif [ "${3}" = "stop" ]; then + if [ "${2}" = "temp"]; then + STOP_SERVICE temp + for SENSOR in ${!SENSOR_ID[@]}; do + logtemp=${LOGFOLDER}/log-temp-${SENSOR} + echo "(`date +'%Y-%m-%d %H:%M:%S'`) - ${SENSOR} - Service Stopped" >> ${logtemp} + done + + elif [ "${2}" = "power"]; then + STOP_SERVICE power + echo "(`date +'%Y-%m-%d %H:%M:%S'`) Service Stopped" >> ${logpower} + + elif [ "${2}" = "powerlogger"]; then + STOP_SERVICE powerlogger + + fi + + elif [ "${3}" = "restart" ]; then + /usr/local/bin/powerwall service ${2} stop + slep 2s + /usr/local/bin/powerwall service ${2} start + fi fi ;;