diff --git a/scripts/caldera.sh b/scripts/caldera.sh new file mode 100755 index 0000000..f0212ab --- /dev/null +++ b/scripts/caldera.sh @@ -0,0 +1,156 @@ +#!/bin/bash + +IP_CALDERA="" + +estado_caldera() { + RESP=$(curl -s ${IP_CALDERA}) + MODO=$(echo ${RESP} | cut -d',' -f 1) + ESTADO=$(echo ${RESP} | cut -d',' -f 2) + HR_ON1=$(echo ${RESP} | cut -d',' -f 3) + HR_OFF1=$(echo ${RESP} | cut -d',' -f 4) + HR_ON2=$(echo ${RESP} | cut -d',' -f 5) + HR_OFF2=$(echo ${RESP} | cut -d',' -f 6) + POS_ON1=$(echo ${RESP} | cut -d',' -f 7) + POS_ON2=$(echo ${RESP} | cut -d',' -f 8) + POS_OFF1=$(echo ${RESP} | cut -d',' -f 9) + POS_OFF2=$(echo ${RESP} | cut -d',' -f 10) + HRA=$(echo ${RESP} | cut -d',' -f 11) + MIN=$(echo ${RESP} | cut -d',' -f 12) + SEG=$(echo ${RESP} | cut -d',' -f 13) + DIA=$(echo ${RESP} | cut -d',' -f 14) + MES=$(echo ${RESP} | cut -d',' -f 15) + ANO=$(echo ${RESP} | cut -d',' -f 16) + echo "=============================" + echo " Estado Termo" + [[ ${ESTADO} = "1" ]] && echo " - ENCENDIDO -" + [[ ${ESTADO} = "0" ]] && echo " - APAGADO -" + echo -e "-----------------------------" + case $MODO in + '1') + echo " Modo Automático" + ;; + '5') + echo " Modo Manual (esperando orden)" + ;; + '6') + echo " Modo Libre" + ;; + *) + echo " verificar conexión!" + ;; + esac + echo " Hora : ${HRA}:${MIN}:${SEG}" + echo " Fecha: ${DIA}/${MES}/${ANO}" + echo -e "-------------------------------" + echo " 1ra Hora de encend. : ${HR_ON1} hrs" + echo " 1ra Hora de apagado : ${HR_OFF1} hrs" + echo " 2ra Hora de encend. : ${HR_ON2} hrs" + echo " 2ra Hora de apagado : ${HR_OFF2} hrs" + echo -e "-------------------------------" + echo " 1ra Posición encendido: ${POS_ON1}" + echo " 2da Posición encendido: ${POS_ON2}" + echo " 1ra Posición apagado : ${POS_OFF1}" + echo " 2da Posición apagado : ${POS_OFF2}" + #echo -e "-----------------------------\n" + echo -e "=============================\n" +} + +ejec_orden() { + ORD="" + case $1 in + 2) + ORD="/sethora?1=2&2=${2}&3=${3}&4=${4}&5=${5}&6=${6}&7=${7}" + ;; + 3) + ORD="/horasAcc?1=3&2=${2}&3=${3}&4=${4}&5=${5}" + ;; + 4) + ORD="/setservo?1=4&2=${2}&3=${3}&4=${4}&5=${5}" + ;; + 5) + if [ ${2} = "on" ] + then + ORD="/accion?1=5&2=on" + elif [ ${2} = "off" ] + then + ORD="/accion?1=5&2=off" + fi + ;; + 6) + ORD="/setlibre?1=6&2=${1}" + ;; + *) + ORD="" + ;; + esac + curl -s "${IP_CALDERA}${ORD}" +} + +principal() { + clear + estado_caldera + echo " 1) Funcionamiento Autonomo" + echo " 2) Configurar hora y fecha" + echo " 3) Conf. hrs. de funcionamiento" + echo " 4) Conf. posiciones de func." + echo " 5) Modo manual" + echo " 6) Modo libre" + echo " 0) Salir" + echo + read -p " Ingresa Opcion :" OPC + case ${OPC} in + "1") + curl -s "${IP_CALDERA}/auto" + ;; + "2") + echo "______________________________" + echo " Configuracion de fecha y hora" + read -p "ingresa el DIA: " DIA + read -p "ingresa el MES: " MES + read -p "ingresa el AÑO: " ANO + read -p "ingresa la HORA: " HRA + read -p "ingresa los MINUTOS: " MIN + read -p "ingresa los SEGUNDOS: " SEG + ejec_orden 2 ${DIA} ${MES} ${ANO} ${HRA} ${MIN} ${SEG} + ;; + "3") + echo "______________________________" + echo " Conf. horas de funcionamiento" + read -p " 1ra hora de encendido: " HR_ON1 + read -p " 1ra hora de apagado : " HR_OFF1 + echo " opcional" + read -p " 2da hora de encendido: " HR_ON2 + read -p " 2da hora de apagado : " HR_OFF2 + ejec_orden 3 ${HR_ON1} ${HR_OFF1} ${HR_ON2} ${HR_OFF2} + ;; + "4") + echo "______________________________" + echo " Conf. posiciones del servo" + read -p " 1ra posición encendido: " POS_ON1 + read -p " 2ra posición encendido: " POS_ON2 + read -p " 1ra posición apagado: " POS_OFF1 + read -p " 2ra posición apagado: " POS_OFF2 + ejec_orden 4 ${POS_ON1} ${POS_ON2} ${POS_OFF1} ${POS_OFF2} + ;; + "5") + echo "_______________________" + echo " Funcionamiento Manual " + read -p " Encender o apagar (on/off) :" MANUAL + ejec_orden 5 ${MANUAL} + ;; + "6") + echo "__________________" + echo " Movimiento libre " + read -p " ingresa posición (15<165):" MANUAL + ejec_orden 6 ${MANUAL} + ;; + "0") + exit + ;; + esac +sleep 8 +principal +} + +principal +exit