diff --git a/inc/power.inc.sh b/inc/power.inc.sh index a60f2a35..5b7d9db4 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -348,7 +348,7 @@ CHECKPOWER_SERVICE(){ if [ "${INVSTATSINFO}" != "" ] || [ ${TESTMODE} -eq 1 ]; then [ "${TEST_INPUTACV}" != "" ] && INPUTACV=${TEST_INPUTACV} || INPUTACV=$(echo ${INVSTATSINFO} | jq '.inputs .inV') [ "${TEST_BATTVOLT}" != "" ] && BATTVOLT=${TEST_BATTVOLT} || BATTVOLT=$(echo ${INVSTATSINFO} | jq '.inputs .battV') - echo "${INPUTACV} - ${BATTVOLT}" + if [ ${TESTMODE} -eq 1 ] && [ ! -f ${PW_TMPFOLDER}/power.testmode.enabled ]; then touch ${PW_TMPFOLDER}/power.testmode.enabled SENDNOTICE "TEST MODE" "***TEST MODE*** ENABLED!" @@ -364,15 +364,12 @@ CHECKPOWER_SERVICE(){ [ ! "${last_battvolt}" ] && last_battvolt=${BATTVOLT} if (( $(bc <<<"${INPUTACV} >= ${min_acvolt}") )); then - echo 1 [ "${last_battvolt}" != "${BATTVOLT}" ] && last_battvolt=${BATTVOLT} if [ -f ${PW_TMPFOLDER}/power.ac.low ]; then - echo 1-2 echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'volts / ${BATTVOLT}'volts - Back to Normal Voltage" >> ${PW_LOGPOWER} SENDNOTICE "POWER NOMINAL AGAIN" "Normal voltage detected VOLTAGE: ${INPUTACV}'volts" else - echo 1-3 [ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'volts - Normal Voltage" >> ${PW_LOGPOWER} if [ -f ${PW_TMPFOLDER}/power.ac.start ]; then SENDNOTICE "Power Nominal" "Service Startup @@ -384,9 +381,8 @@ BATT VOLTAGE: ${BATTVOLT}'volts" rm -f ${PW_TMPFOLDER}/power.ac.start fi fi - echo 1a if [ ! -f ${PW_TMPFOLDER}/power.ac.good ]; then - echo 1a-1 + if [ -f ${PW_TMPFOLDER}/shutdown.SYS ] || [ -f ${PW_TMPFOLDER}/shutdown.MAIN ] || [ -f ${PW_TMPFOLDER}/power.ac.conserve ]; then SENDNOTICE "HOSTS POWER" "Power restored! Will wait ${PW_WAIT_TO_POWER_SERVERS}'mins before turning host(s) back on" touch ${PW_TMPFOLDER}/.power.restored @@ -396,18 +392,16 @@ BATT VOLTAGE: ${BATTVOLT}'volts" touch ${PW_TMPFOLDER}/power.ac.good elif [ -f ${PW_TMPFOLDER}/.power.restored ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.power.restored)) -ge $(echo "scale=0; ${PW_WAIT_TO_POWER_SERVERS}*60" | bc) ]; then - echo 1a-2 HOSTMGMT mainsite -p on rm -f ${PW_TMPFOLDER}/.power.restored fi - echo 1b + # UPDATE APC-PDU LINE TO LINE VOLTAGE CURRENT_VOLTAGE=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.15.0 | sed 's/.*: //') SET_VOLTAGE=`echo "scale=2; $(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.2.1.1 | sed 's/.*: //')/10" | bc | awk '{print int($1+0.5)}'` [ "${SET_VOLTAGE}" != "" ] && [ "${CURRENT_VOLTAGE}" != "" ] && [ ${CURRENT_VOLTAGE} -ne ${SET_VOLTAGE} ] && run=$(snmpset -v 1 -c private ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.15.0 i ${SET_VOLTAGE} >/dev/null 2>&1) && echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${CURRENT_VOLTAGE}'volts --> ${SET_VOLTAGE}'volts - LINE-TO-LINE VOLTAGE UPDATED ON APC-PDU" >> ${PW_LOGPOWER} else - echo 2 [ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge 300 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'volts / ${BATTVOLT}'volts - Power OFF or LOW" >> ${PW_LOGPOWER} if [ -f ${PW_TMPFOLDER}/power.ac.good ]; then echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'volts / ${BATTVOLT}'volts - Power OFF or LOW voltage detected" >> ${PW_LOGPOWER} @@ -425,9 +419,8 @@ BATT VOLTAGE: ${BATTVOLT}'volts" 1 touch ${PW_TMPFOLDER}/power.ac.conserve fi fi - echo 3 + if (( $(bc <<<"${BATTVOLT} >= ${min_battvolt}") )); then - echo 3a [ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - Battery Voltage" >> ${PW_LOGPOWER} if [ -f ${PW_TMPFOLDER}/power.dc.start ]; then echo "($(date +'%Y-%m-%d %H:%M:%S')) - Battery: ${BATTVOLT}'volts - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER} @@ -437,7 +430,7 @@ BATT VOLTAGE: ${BATTVOLT}'volts" 1 rm -f ${PW_TMPFOLDER}/power.dc.* touch ${PW_TMPFOLDER}/power.dc.good fi - echo 3b + else [ -f ${PW_TMPFOLDER}/power.dc.good ] && rm -f ${PW_TMPFOLDER}/power.dc.good [ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_ABNORMAL}*60" | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - LOW BATTERY Voltage" >> ${PW_LOGPOWER} diff --git a/powerwall.sh b/powerwall.sh index fb67c252..29d8c870 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -502,13 +502,13 @@ HOSTMGMT(){ esac shift 1 done - echo "wow - ${#hostname} - ${hostname}" - c=0; spcA=''; spc1=`expr 21 - ${#hostname} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done + [ ${MN} -eq 1 ] &&. ssppcc=31 || ssppcc=21 + c=0; spcA=''; spc1=`expr ${ssppcc} - ${#hostname} - 1`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; c=`expr ${c} + 1`; done echo -en "${idsCL[LightCyan]} Host: ${idsCL[Green]}${hostname}${spcA}" if [ "${ESXI_HOST}" == "ALL" ] || [ "${ESXI_HOST}" == "MAINSITE" ] || [ "${ESXI_HOST}" == "OFFSITE" ] || [ "${ESXI_HOST}" == "MAIN" ] || [ "${ESXI_HOST}" == "SYS" ]; then echo -e "" else - c=0; spcB=''; spc1=`expr 18 - ${#ESXI_HOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done + c=0; spcB=''; spc1=`expr ${ssppcc} - 3 - ${#ESXI_HOST} - 1`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; c=`expr ${c} + 1`; done echo -en "${idsCL[LightCyan]}Host IP: ${idsCL[Green]}${ESXI_HOST}${spcB}" echo -e "${idsCL[LightCyan]}iDrac IP: ${idsCL[Green]}${idracip}${idsCL[Default]}" fi