#!/bin/sh
# cmd_pwr
# Execute pwr cmds

PWR_MQTT_TOPIC="v1/device/pwr"
PWR_OVERRIDE_MQTT_TOPIC="${PWR_MQTT_TOPIC}/override"

ARGS=$#
if [ ${ARGS} -lt 2 ] ; then
  exit -1
fi

SUBCMD=$(echo $2 | tr '[a-z]' '[A-Z]')
if [ "${SUBCMD}" == "MODE" ]; then
    TIME=0
    case $3 in
    1|3)
        ;;
    2|4)
        TIME=20
        if [ ${ARGS} -eq 4 ]; then
            if [ "$4" -eq "$4" ]; then
                TIME=$4
            fi
        fi
        ;;
    *)
        exit -1
        ;;
    esac
    mosquitto_pub -h localhost -t "${PWR_MQTT_TOPIC}" -m "{\"PWR_MODE\":\"cmd pwr\",\"mode\":$3,\"time\":${TIME},\"pid\":$$}" &>/dev/null
    exit $?
elif [ "${SUBCMD}" == "OVERRIDE" ]; then
    if [ ${ARGS} -eq 2 ] ; then
        PWR_OVERRIDE=$(mosquitto_sub -h localhost -t "${PWR_OVERRIDE_MQTT_TOPIC}" -W 1 -C 1)
        if [ "${#PWR_OVERRIDE}" -gt 0 ]; then
            echo "cmd pwr override ${PWR_OVERRIDE}"
            exit 0
        else
            exit -1
        fi
    fi
    case $3 in
    0|1)
        mosquitto_pub -h localhost -t "${PWR_MQTT_TOPIC}" -m "{\"PWR_OVERRIDE\":\"cmd pwr\",\"mode\":$3,\"pid\":$$}" &>/dev/null
        exit $?
        ;;
    *)
        exit -1
        ;;
    esac
fi
exit -1
