Update power.inc.sh
This commit is contained in:
104
inc/power.inc.sh
104
inc/power.inc.sh
@@ -301,9 +301,109 @@ CHECKPOWER(){
|
|||||||
|
|
||||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||||
fi
|
fi
|
||||||
|
#########################################################################################################
|
||||||
|
else ############### KYLE #########################################################################################################
|
||||||
|
|
||||||
else
|
DIVIDER . yellow ${PRI_WIDTH}
|
||||||
tmp=tmp
|
echo -en "${idsCL[Yellow]}Mainsite Power Information"
|
||||||
|
[ "${avgdays}" != "" ] && echo -e " ${idsCL[LightYellow]}--${avgdays_disp}-Averages---" || echo
|
||||||
|
DIVIDER . yellow ${PRI_WIDTH}
|
||||||
|
|
||||||
|
[ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'UPS' ... "
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||||
|
UPS_STATUS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.3.9 | sed 's/.*: //')
|
||||||
|
UPS_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.3.3.1.3.1 | sed 's/.*: //')
|
||||||
|
UPS_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //')
|
||||||
|
UPS_LOAD=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.3.9 | sed 's/.*: //')
|
||||||
|
UPS_AMPS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //')
|
||||||
|
UPS_AMPS=`echo "scale=2; ${UPS_AMPS}/10" | bc`
|
||||||
|
UPS_WATTS=`echo "scale=2; ${UPS_AMPS}/10" | bc`
|
||||||
|
UPS_BATT_RUNTIME=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.18.0 | sed 's/.*: //')
|
||||||
|
UPS_BATT_VOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.10.0 | sed 's/.*: //')
|
||||||
|
UPS_BATT_CAP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.19.0 | sed 's/.*: //')
|
||||||
|
|
||||||
|
declare -A UPS_MISC
|
||||||
|
for mSENSOR in "${PW_POWERSENSOR_MISC[@]}"; do
|
||||||
|
UPS_MISC[${mSENSOR}]=$(GET_TUYA_POWER ${mSENSOR})
|
||||||
|
done
|
||||||
|
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ ${REPORT} -eq 0 ] && echo -en "\r\033[K"
|
||||||
|
|
||||||
|
echo -e "${idsCL[White]}UPS Status ${idsCL[Default]}: ${idsCL[LightCyan]}${OFFSITE_STATUS}${idsCL[Default]}"
|
||||||
|
if [ ${REPORT} -eq 0 ]; then
|
||||||
|
echo
|
||||||
|
echo -e "${idsCL[White]}UPS Voltage In ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${UPS_VOLTIN}`'V${idsCL[Default]}"
|
||||||
|
echo -e "${idsCL[White]}UPS Voltage Out ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${UPS_VOLTOUT}`'V${idsCL[Default]}"
|
||||||
|
fi
|
||||||
|
echo -e "${idsCL[White]}UPS Load Usage ${idsCL[Default]}: ${idsCL[Green]}${UPS_LOAD}'%${idsCL[Default]}"
|
||||||
|
[ ${REPORT} -eq 0 ] && echo
|
||||||
|
echo -e "${idsCL[White]}UPS Battery Capacity ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${UPS_BATT_CAP}`'%${idsCL[Default]}"
|
||||||
|
echo -e "${idsCL[White]}UPS Battery Runtime ${idsCL[Default]}: ${idsCL[Green]}${UPS_BATT_RUNTIME}'mins${idsCL[Default]}"
|
||||||
|
if [ ${REPORT} -eq 0 ]; then
|
||||||
|
echo -e "${idsCL[White]}UPS Battery Voltage ${idsCL[Default]}: ${idsCL[Green]}${UPS_BATT_VOLT}'V${idsCL[Default]}"
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
TOTAL_MISC_WATTS=0; TOTAL_MISC_AMPS=0
|
||||||
|
if [ ${REPORT} -eq 0 ]; then
|
||||||
|
echo -en "${idsCL[LightCyan]}Misc Sensors Amps Watts"
|
||||||
|
[ "${avgdays}" != "" ] && echo -e " Amps Watts" || echo -e " Volts"
|
||||||
|
fi
|
||||||
|
for mSENSOR in "${!UPS_MISC[@]}"; do
|
||||||
|
IFS=: read -r AMP WATT VOLT <<< ${UPS_MISC[${mSENSOR}]}; unset IFS
|
||||||
|
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+${WATT}" | bc`
|
||||||
|
TOTAL_MISC_AMPS=`echo "scale=2; ${TOTAL_MISC_AMPS}+${AMP}" | bc`
|
||||||
|
AD1="${PW_MISCSENSOR_DESC[${mSENSOR}]}"; c=0; spc1=''; spca=`expr 25 - ${#AD1}`; until [ ${c} = ${spca} ]; do spc1="${spc1} "; ((c++)); done
|
||||||
|
AD2=$(IDS_NUMBER_FORMAT ${AMP} 2 yes); c=0; spc2=''; spca=`expr ${wspc} - ${#AD2}`; until [ ${c} = ${spca} ]; do spc2="${spc2} "; ((c++)); done
|
||||||
|
AD3=$(IDS_NUMBER_FORMAT ${WATT} 1 yes)
|
||||||
|
|
||||||
|
[ ${REPORT} -eq 0 ] && echo -en "${idsCL[Default]}${AD1}${spc1}: ${idsCL[Green]}${AD2}'A${spc2}${AD3}'W"
|
||||||
|
if [ "${avgdays}" == "" ]; then
|
||||||
|
c=0; spc3=''; spca=`expr ${wspc} - ${#AD3}`; until [ ${c} = ${spca} ]; do spc3="${spc3} "; ((c++)); done
|
||||||
|
[ ${REPORT} -eq 0 ] && echo -e "${spc3}${VOLT}'V${idsCL[Default]}"
|
||||||
|
else
|
||||||
|
echo -en "${idsCL[Yellow]} Calculating ${avgdays_disp} Average ... "
|
||||||
|
avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID[${mSENSOR}]} ${avgdays} both)
|
||||||
|
AMP_avg=$(echo ${avg} | cut -d'~' -f 1)
|
||||||
|
WATT_avg=$(echo ${avg} | cut -d'~' -f 2)
|
||||||
|
[ ${REPORT} -eq 0 ] && echo -en "\r\033[K"
|
||||||
|
echo -en "${idsCL[Default]}${AD1}${spc1}: ${idsCL[Green]}${AD2}'A${spc2}${AD3}'W"
|
||||||
|
|
||||||
|
AD=$(IDS_NUMBER_FORMAT ${AMP_avg} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||||
|
echo -e "${idsCL[LightYellow]} ${AD}'A${spc}`IDS_NUMBER_FORMAT ${WATT_avg} 1 yes`'W"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||||
|
[ "${avgdays}" != "" ] && echo -e " --${idsCL[LightYellow]}${avgdays_disp}-Averages---"
|
||||||
|
echo -en "${idsCL[LightCyan]}Totals Amps Watts"
|
||||||
|
[ "${avgdays}" != "" ] && echo -e " Amps Watts" || echo
|
||||||
|
if (( $(bc <<<"${OFFSITE_WATTS} < ${TOTAL_MISC_WATTS}") )); then
|
||||||
|
AW=${TOTAL_MISC_WATTS}
|
||||||
|
AD=${TOTAL_MISC_AMPS}
|
||||||
|
else
|
||||||
|
AW=${OFFSITE_WATTS}
|
||||||
|
AD=${OFFSITE_AMPS}
|
||||||
|
fi
|
||||||
|
AD=$(IDS_NUMBER_FORMAT ${AD} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||||
|
echo -en "${idsCL[White]}Mainsite Equipment ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${AW} 1 yes`'W"
|
||||||
|
if [ "${avgdays}" != "" ]; then
|
||||||
|
echo -en "${idsCL[Yellow]} Calculating Mainsite Equipment Total Averages ... "
|
||||||
|
UPS_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['mainsite-ups']} ${avgdays} both)
|
||||||
|
UPS_AMP_avg=$(echo ${UPS_avg} | cut -d'~' -f 1)
|
||||||
|
UPS_WATT_avg=$(echo ${UPS_avg} | cut -d'~' -f 2)
|
||||||
|
echo -en "\r\033[K"
|
||||||
|
echo -en "${idsCL[White]}Mainsite Equipment ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${AW} 1 yes`'W"
|
||||||
|
|
||||||
|
AD=$(IDS_NUMBER_FORMAT ${OFFSITE_AMP_avg} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||||
|
echo -e "${idsCL[LightYellow]} ${AD}'A${spc}`IDS_NUMBER_FORMAT ${OFFSITE_WATT_avg} 1 yes`'W"
|
||||||
|
else
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|||||||
Reference in New Issue
Block a user