Update power.inc.sh
This commit is contained in:
106
inc/power.inc.sh
106
inc/power.inc.sh
@@ -301,9 +301,109 @@ CHECKPOWER(){
|
||||
|
||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||
fi
|
||||
#########################################################################################################
|
||||
else ############### KYLE #########################################################################################################
|
||||
|
||||
else
|
||||
tmp=tmp
|
||||
DIVIDER . yellow ${PRI_WIDTH}
|
||||
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
|
||||
@@ -419,7 +519,7 @@ CHECKPOWER(){
|
||||
echo -e "${idsCL[LightYellow]} ${AD}'A${spc}`IDS_NUMBER_FORMAT ${OFFSITE_WATT_avg} 1 yes`'W"
|
||||
else
|
||||
echo
|
||||
fi
|
||||
fi
|
||||
|
||||
# echo -en "${idsCL[White]}Total Amps ${idsCL[Default]}: ${idsCL[Green]}${AD}'A ${idsCL[Default]}~ est${idsCL[Green]}${idsCL[Default]}"
|
||||
# [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${OFFSITE_AMP_avg}`'A" || echo -e "${idsCL[Default]}"
|
||||
|
||||
Reference in New Issue
Block a user