Update power.inc.sh
This commit is contained in:
373
inc/power.inc.sh
373
inc/power.inc.sh
@@ -95,215 +95,224 @@ CHECKPOWER(){
|
||||
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 'Powerwall' ... "
|
||||
|
||||
INVSTATSINFO=$(curl -m 3 -s "http://${PW_INVERTER_IP}/stats.json")
|
||||
if [ "${INVSTATSINFO}" != "" ]; then
|
||||
[ "${TEST_INPUTACV}" != "" ] && INPUTV=${TEST_INPUTACV} || INPUTV=$(echo ${INVSTATSINFO} | jq '.inputs .inV')
|
||||
INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'`
|
||||
INV_ALARM=`echo ${INVSTATSINFO} | jq '.errors .Alms'`
|
||||
[ "${INV_ALARM}" = "0" ] && INV_ALARM_disp="${idsCL[Green]}No Alarms (${INV_ALARM})" || INV_ALARM_disp="${idsCL[LightRed]}${PW_INVERTER_ALARMS[${INV_ALARM}]}"
|
||||
INV_ERROR=`echo ${INVSTATSINFO} | jq '.errors .Err'`
|
||||
[ "${INV_ERROR}" = "0" ] && INV_ERROR_disp="${idsCL[Green]}No Errors (${INV_ERROR})" || INV_ERROR_disp="${idsCL[LightRed]}${PW_INVERTER_ERRORS[${INV_ERROR}]}"
|
||||
INV_STATE=`echo ${INVSTATSINFO} | jq '.stats .invSTATES'`
|
||||
[ "${INV_STATE}" != "0" ] && INV_STATE_disp="${idsCL[Green]}${PW_INVERTER_STATES[${INV_STATE}]}" || INV_STATE_disp="${idsCL[LightRed]}${PW_INVERTER_STATES[${INV_STATE}]}"
|
||||
INV_MODE=`echo ${INVSTATSINFO} | jq '.stats .power'`
|
||||
([ "${INV_MODE}" != "3" ] && [ "${INV_MODE}" != "4" ] && [ "${INV_MODE}" != "E" ]) && INV_MODE_disp="${idsCL[Green]}${PW_INVERTER_MODES[${INV_MODE}]}" || INV_MODE_disp="${idsCL[LightRed]}${PW_INVERTER_MODES[${INV_MODE}]}"
|
||||
OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'`
|
||||
OUTPUTV2=`echo "scale=2; ${OUTPUTV}/2" | bc`
|
||||
OUTPUTA=`echo ${INVSTATSINFO} | jq '.outputs .outA'`
|
||||
OUTPUTA2=`echo "scale=2; ${OUTPUTA}*2" | bc`
|
||||
OUTPUTW=`echo ${INVSTATSINFO} | jq '.outputs .outW'`
|
||||
[ "${TEST_BATTVOLT}" != "" ] && BATTV=${TEST_BATTVOLT} || BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'`
|
||||
BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'`
|
||||
BATTLIFE=`echo "scale=2; (${BATTV}*100)/${BATT_FULL}" | bc`
|
||||
if (( $(bc <<<"${BATTV} >= ${FLOAT_CHARGE}") )) || ([ "${PW_INVERTER_MODES[${INV_MODE}]}" == "AC Input" ] && (( $(bc <<<"${BATTA} < -2") ))); then
|
||||
if (( $(bc <<<"${BATTV} >= ${BULK_CHARGE}") )) || ([ "${PW_INVERTER_MODES[${INV_MODE}]}" == "AC Input" ] && (( $(bc <<<"${BATTA} < -2") ))); then
|
||||
BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Bulk Charging"
|
||||
if [[ "${IP}" != "10.6.1"* ]]; then
|
||||
|
||||
[ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'Powerwall' ... "
|
||||
|
||||
INVSTATSINFO=$(curl -m 3 -s "http://${PW_INVERTER_IP}/stats.json")
|
||||
if [ "${INVSTATSINFO}" != "" ]; then
|
||||
[ "${TEST_INPUTACV}" != "" ] && INPUTV=${TEST_INPUTACV} || INPUTV=$(echo ${INVSTATSINFO} | jq '.inputs .inV')
|
||||
INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'`
|
||||
INV_ALARM=`echo ${INVSTATSINFO} | jq '.errors .Alms'`
|
||||
[ "${INV_ALARM}" = "0" ] && INV_ALARM_disp="${idsCL[Green]}No Alarms (${INV_ALARM})" || INV_ALARM_disp="${idsCL[LightRed]}${PW_INVERTER_ALARMS[${INV_ALARM}]}"
|
||||
INV_ERROR=`echo ${INVSTATSINFO} | jq '.errors .Err'`
|
||||
[ "${INV_ERROR}" = "0" ] && INV_ERROR_disp="${idsCL[Green]}No Errors (${INV_ERROR})" || INV_ERROR_disp="${idsCL[LightRed]}${PW_INVERTER_ERRORS[${INV_ERROR}]}"
|
||||
INV_STATE=`echo ${INVSTATSINFO} | jq '.stats .invSTATES'`
|
||||
[ "${INV_STATE}" != "0" ] && INV_STATE_disp="${idsCL[Green]}${PW_INVERTER_STATES[${INV_STATE}]}" || INV_STATE_disp="${idsCL[LightRed]}${PW_INVERTER_STATES[${INV_STATE}]}"
|
||||
INV_MODE=`echo ${INVSTATSINFO} | jq '.stats .power'`
|
||||
([ "${INV_MODE}" != "3" ] && [ "${INV_MODE}" != "4" ] && [ "${INV_MODE}" != "E" ]) && INV_MODE_disp="${idsCL[Green]}${PW_INVERTER_MODES[${INV_MODE}]}" || INV_MODE_disp="${idsCL[LightRed]}${PW_INVERTER_MODES[${INV_MODE}]}"
|
||||
OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'`
|
||||
OUTPUTV2=`echo "scale=2; ${OUTPUTV}/2" | bc`
|
||||
OUTPUTA=`echo ${INVSTATSINFO} | jq '.outputs .outA'`
|
||||
OUTPUTA2=`echo "scale=2; ${OUTPUTA}*2" | bc`
|
||||
OUTPUTW=`echo ${INVSTATSINFO} | jq '.outputs .outW'`
|
||||
[ "${TEST_BATTVOLT}" != "" ] && BATTV=${TEST_BATTVOLT} || BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'`
|
||||
BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'`
|
||||
BATTLIFE=`echo "scale=2; (${BATTV}*100)/${BATT_FULL}" | bc`
|
||||
if (( $(bc <<<"${BATTV} >= ${FLOAT_CHARGE}") )) || ([ "${PW_INVERTER_MODES[${INV_MODE}]}" == "AC Input" ] && (( $(bc <<<"${BATTA} < -2") ))); then
|
||||
if (( $(bc <<<"${BATTV} >= ${BULK_CHARGE}") )) || ([ "${PW_INVERTER_MODES[${INV_MODE}]}" == "AC Input" ] && (( $(bc <<<"${BATTA} < -2") ))); then
|
||||
BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Bulk Charging"
|
||||
else
|
||||
BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Float Charging"
|
||||
fi
|
||||
elif [ "${BATTA}" = "-0.1" ] || [ "${BATTA}" = "-0.2" ] || [ "${BATTA}" = "-0.3" ]; then
|
||||
BATTA_disp="${idsCL[LightCyan]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Standby"
|
||||
else
|
||||
BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Float Charging"
|
||||
BATTA_disp="${idsCL[LightRed]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Discharging"
|
||||
fi
|
||||
elif [ "${BATTA}" = "-0.1" ] || [ "${BATTA}" = "-0.2" ] || [ "${BATTA}" = "-0.3" ]; then
|
||||
BATTA_disp="${idsCL[LightCyan]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Standby"
|
||||
else
|
||||
BATTA_disp="${idsCL[LightRed]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Discharging"
|
||||
fi
|
||||
fi
|
||||
# if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||
SVRRM_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.2.2.1.3.1.1 | sed 's/.*: //')
|
||||
SVRRM_VOLTIN=`echo "scale=2; ${SVRRM_VOLTIN}/10" | bc`
|
||||
SVRRM_VOLTOUT=$(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/.*: //')
|
||||
SVRRM_VOLTOUT=`echo "scale=2; ${SVRRM_VOLTOUT}/10" | bc`
|
||||
# if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||
SVRRM_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.2.2.1.3.1.1 | sed 's/.*: //')
|
||||
SVRRM_VOLTIN=`echo "scale=2; ${SVRRM_VOLTIN}/10" | bc`
|
||||
SVRRM_VOLTOUT=$(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/.*: //')
|
||||
SVRRM_VOLTOUT=`echo "scale=2; ${SVRRM_VOLTOUT}/10" | bc`
|
||||
|
||||
SVRRM_WATT=$(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.4.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=$(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.3.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | bc`
|
||||
SVRRM_WATT=$(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.4.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=$(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.3.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | bc`
|
||||
|
||||
AIRCON_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['ServerRoom-AC']}:8888/status/${PW_SENSOR_DEVICEID['ServerRoom-AC']} | jq '.dps')
|
||||
if [ "${AIRCON_INFO}" != "" ]; then
|
||||
AIRCON_AMP=$(echo "${AIRCON_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | bc -l) 2)
|
||||
AIRCON_WATT=$(echo "${AIRCON_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | bc -l)
|
||||
else
|
||||
AIRCON_AMP=0
|
||||
AIRCON_WATT=0
|
||||
AIRCON_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['ServerRoom-AC']}:8888/status/${PW_SENSOR_DEVICEID['ServerRoom-AC']} | jq '.dps')
|
||||
if [ "${AIRCON_INFO}" != "" ]; then
|
||||
AIRCON_AMP=$(echo "${AIRCON_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | bc -l) 2)
|
||||
AIRCON_WATT=$(echo "${AIRCON_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | bc -l)
|
||||
else
|
||||
AIRCON_AMP=0
|
||||
AIRCON_WATT=0
|
||||
fi
|
||||
|
||||
SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AIRCON_AMP}" | bc -l)
|
||||
SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AIRCON_WATT}" | bc -l)
|
||||
# fi
|
||||
#
|
||||
# if [ "$(CHECK_HOST ${PW_APCPDU_IP})" != "false" ]; then
|
||||
APCPDU_AMP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1 | sed 's/.*: //')
|
||||
APCPDU_AMP=`echo "scale=2; ${APCPDU_AMP}/10" | bc`
|
||||
APCPDU_WATT2=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //')
|
||||
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLTOUT}" | bc`
|
||||
# fi
|
||||
if [ "${SVRRM_VOLTOUT}" != "" ]; then
|
||||
if [ "${APCPDU_AMP}" != "" ]; then
|
||||
NETRK_AMP=`echo "scale=2; ${SVRRM_AMP}-${APCPDU_AMP}" | bc`
|
||||
NETRK_WATT=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT}" | bc`
|
||||
NETRK_WATT2=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT2}" | bc`
|
||||
fi
|
||||
VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLTIN}" | bc`
|
||||
fi
|
||||
|
||||
SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AIRCON_AMP}" | bc -l)
|
||||
SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AIRCON_WATT}" | bc -l)
|
||||
# fi
|
||||
#
|
||||
# if [ "$(CHECK_HOST ${PW_APCPDU_IP})" != "false" ]; then
|
||||
APCPDU_AMP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1 | sed 's/.*: //')
|
||||
APCPDU_AMP=`echo "scale=2; ${APCPDU_AMP}/10" | bc`
|
||||
APCPDU_WATT2=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //')
|
||||
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLTOUT}" | bc`
|
||||
# fi
|
||||
if [ "${SVRRM_VOLTOUT}" != "" ]; then
|
||||
if [ "${APCPDU_AMP}" != "" ]; then
|
||||
NETRK_AMP=`echo "scale=2; ${SVRRM_AMP}-${APCPDU_AMP}" | bc`
|
||||
NETRK_WATT=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT}" | bc`
|
||||
NETRK_WATT2=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT2}" | bc`
|
||||
fi
|
||||
VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLTIN}" | bc`
|
||||
fi
|
||||
|
||||
|
||||
[ ${REPORT} -eq 0 ] && echo -en "\r\033[K"
|
||||
echo -e "${idsCL[White]}Inverter State ${idsCL[Default]}: ${INV_STATE_disp}"
|
||||
if [ ${REPORT} -eq 0 ]; then
|
||||
echo -e "${idsCL[White]}Inverter Mode ${idsCL[Default]}: ${INV_MODE_disp}"
|
||||
echo -e "${idsCL[White]}Inverter Alarms ${idsCL[Default]}: ${INV_ALARM_disp}"
|
||||
echo -e "${idsCL[White]}Inverter Errors ${idsCL[Default]}: ${INV_ERROR_disp}"
|
||||
echo
|
||||
fi
|
||||
echo -en "${idsCL[White]}Inverter Input Volts ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${INPUTV}`'V"
|
||||
[ "${TEST_INPUTACV}" != "" ] && echo -e " ${idsCL[Yellow]}***TEST MODE***" || echo ""
|
||||
echo -e "${idsCL[White]}Inverter Input Amps ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${INPUTA}`'A"
|
||||
if [ ${REPORT} -eq 0 ]; then
|
||||
echo
|
||||
echo -e "${idsCL[White]}Inverter Output Volts ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${OUTPUTV}`'V / `IDS_NUMBER_FORMAT ${OUTPUTV2}`'V"
|
||||
echo -e "${idsCL[White]}Inverter Output Amps ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${OUTPUTA}`'A / `IDS_NUMBER_FORMAT ${OUTPUTA2}`'A"
|
||||
echo -e "${idsCL[White]}Inverter Output Watts ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${OUTPUTW} 0`'W"
|
||||
echo
|
||||
fi
|
||||
|
||||
echo -en "${idsCL[White]}Battery Voltage ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTV}`'V ~ (`IDS_NUMBER_FORMAT ${BATTLIFE}`'% @ ${BATT_FULL}'V)"
|
||||
[ "${TEST_BATTVOLT}" != "" ] && echo -e " ${idsCL[Yellow]}***TEST MODE***" || echo ""
|
||||
echo -e "${idsCL[White]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}"
|
||||
echo
|
||||
echo -e "${idsCL[White]}Server Room Voltage IN ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_VOLTIN}'V${idsCL[Default]}"
|
||||
echo -e "${idsCL[White]}Server Room Voltage OUT ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_VOLTOUT}'V${idsCL[Default]}"
|
||||
[ ${REPORT} -eq 0 ] && echo -e "${idsCL[White]}Voltage Drop ${idsCL[Default]}: ${idsCL[LightRed]}${VOLT_DROP}'V${idsCL[Default]}"
|
||||
|
||||
# echo
|
||||
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 [ ${REPORT} -eq 0 ]; then
|
||||
echo -en "\r\033[K"
|
||||
AD=$(IDS_NUMBER_FORMAT ${NETRK_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsCL[White]}Network Rack ~est~ ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${NETRK_WATT} 1 yes`'W"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating NetworkRack Averages ... "
|
||||
NETRK_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['network-rack']} ${avgdays} both)
|
||||
NETRK_AMP_avg=$(echo ${NETRK_avg} | cut -d'~' -f 1)
|
||||
NETRK_WATT_avg=$(echo ${NETRK_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
AS=$(IDS_NUMBER_FORMAT ${NETRK_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 5`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${NETRK_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsCL[LightYellow]}${spcA}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${NETRK_WATT_avg} 1 yes`'W"
|
||||
else
|
||||
[ ${REPORT} -eq 0 ] && echo -en "\r\033[K"
|
||||
echo -e "${idsCL[White]}Inverter State ${idsCL[Default]}: ${INV_STATE_disp}"
|
||||
if [ ${REPORT} -eq 0 ]; then
|
||||
echo -e "${idsCL[White]}Inverter Mode ${idsCL[Default]}: ${INV_MODE_disp}"
|
||||
echo -e "${idsCL[White]}Inverter Alarms ${idsCL[Default]}: ${INV_ALARM_disp}"
|
||||
echo -e "${idsCL[White]}Inverter Errors ${idsCL[Default]}: ${INV_ERROR_disp}"
|
||||
echo
|
||||
fi
|
||||
|
||||
AD=$(IDS_NUMBER_FORMAT ${APCPDU_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsCL[White]}Server Rack ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${APCPDU_WATT} 1 yes`'W"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Server Rack Averages ... "
|
||||
APCPDU_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['server-rack']} ${avgdays} both)
|
||||
APCPDU_AMP_avg=$(echo ${APCPDU_avg} | cut -d'~' -f 1)
|
||||
APCPDU_WATT_avg=$(echo ${APCPDU_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
AS=$(IDS_NUMBER_FORMAT ${APCPDU_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 5`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${APCPDU_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsCL[LightYellow]}${spcA}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${APCPDU_WATT_avg} 1 yes`'W"
|
||||
else
|
||||
echo -en "${idsCL[White]}Inverter Input Volts ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${INPUTV}`'V"
|
||||
[ "${TEST_INPUTACV}" != "" ] && echo -e " ${idsCL[Yellow]}***TEST MODE***" || echo ""
|
||||
echo -e "${idsCL[White]}Inverter Input Amps ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${INPUTA}`'A"
|
||||
if [ ${REPORT} -eq 0 ]; then
|
||||
echo
|
||||
echo -e "${idsCL[White]}Inverter Output Volts ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${OUTPUTV}`'V / `IDS_NUMBER_FORMAT ${OUTPUTV2}`'V"
|
||||
echo -e "${idsCL[White]}Inverter Output Amps ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${OUTPUTA}`'A / `IDS_NUMBER_FORMAT ${OUTPUTA2}`'A"
|
||||
echo -e "${idsCL[White]}Inverter Output Watts ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${OUTPUTW} 0`'W"
|
||||
echo
|
||||
fi
|
||||
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsBG[Blue]}${idsCL[White]}Equipment Subtotal ${idsCL[Default]}: ${idsCL[White]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SVRRM_WATT} 1 yes`'W ${idsBG[Default]}"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Equipment Subtotal Averages ... "
|
||||
SVRRM_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['total']} ${avgdays} both)
|
||||
SVRRM_AMP_avg=$(echo ${SVRRM_avg} | cut -d'~' -f 1)
|
||||
SVRRM_WATT_avg=$(echo ${SVRRM_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
AS=$(IDS_NUMBER_FORMAT ${SVRRM_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 4`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsBG[Blue]}${spcA}${idsCL[LightYellow]}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${SVRRM_WATT_avg} 1 yes`'W ${idsBG[Default]}"
|
||||
else
|
||||
echo -e "${idsBG[Default]}"
|
||||
fi
|
||||
|
||||
|
||||
echo -en "${idsCL[White]}Battery Voltage ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTV}`'V ~ (`IDS_NUMBER_FORMAT ${BATTLIFE}`'% @ ${BATT_FULL}'V)"
|
||||
[ "${TEST_BATTVOLT}" != "" ] && echo -e " ${idsCL[Yellow]}***TEST MODE***" || echo ""
|
||||
echo -e "${idsCL[White]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}"
|
||||
echo
|
||||
echo -e "${idsCL[White]}Server Room Voltage IN ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_VOLTIN}'V${idsCL[Default]}"
|
||||
echo -e "${idsCL[White]}Server Room Voltage OUT ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_VOLTOUT}'V${idsCL[Default]}"
|
||||
[ ${REPORT} -eq 0 ] && echo -e "${idsCL[White]}Voltage Drop ${idsCL[Default]}: ${idsCL[LightRed]}${VOLT_DROP}'V${idsCL[Default]}"
|
||||
|
||||
# echo
|
||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||
|
||||
AD=$(IDS_NUMBER_FORMAT ${AIRCON_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsCL[White]}Air Conditioner ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${AIRCON_WATT} 1 yes`'W"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Air Conditioner Averages ... "
|
||||
AIRCON_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['ServerRoom-AC']} ${avgdays} both)
|
||||
AIRCON_AMP_avg=$(echo ${AIRCON_avg} | cut -d'~' -f 1)
|
||||
AIRCON_WATT_avg=$(echo ${AIRCON_avg} | cut -d'~' -f 2)
|
||||
[ "${avgdays}" != "" ] && echo -e " --${idsCL[LightYellow]}${avgdays_disp}-Averages---"
|
||||
echo -en "${idsCL[LightCyan]}Totals Amps Watts"
|
||||
[ "${avgdays}" != "" ] && echo -e " Amps Watts" || echo
|
||||
|
||||
if [ ${REPORT} -eq 0 ]; then
|
||||
echo -en "\r\033[K"
|
||||
AD=$(IDS_NUMBER_FORMAT ${NETRK_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsCL[White]}Network Rack ~est~ ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${NETRK_WATT} 1 yes`'W"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating NetworkRack Averages ... "
|
||||
NETRK_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['network-rack']} ${avgdays} both)
|
||||
NETRK_AMP_avg=$(echo ${NETRK_avg} | cut -d'~' -f 1)
|
||||
NETRK_WATT_avg=$(echo ${NETRK_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
AS=$(IDS_NUMBER_FORMAT ${AIRCON_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 5`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${AIRCON_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsCL[LightYellow]}${spcA}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${AIRCON_WATT_avg} 1 yes`'W"
|
||||
else
|
||||
echo
|
||||
fi
|
||||
AS=$(IDS_NUMBER_FORMAT ${NETRK_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 5`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${NETRK_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsCL[LightYellow]}${spcA}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${NETRK_WATT_avg} 1 yes`'W"
|
||||
else
|
||||
echo
|
||||
fi
|
||||
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP_WAC} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsBG[Blue]}${idsCL[White]}Server Room Total w/AIR ${idsCL[Default]}: ${idsCL[White]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SVRRM_WATT_WAC} 1 yes`'W ${idsBG[Default]}"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Server Room w/AIR Total Averages ... "
|
||||
AD=$(IDS_NUMBER_FORMAT ${APCPDU_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsCL[White]}Server Rack ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${APCPDU_WATT} 1 yes`'W"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Server Rack Averages ... "
|
||||
APCPDU_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['server-rack']} ${avgdays} both)
|
||||
APCPDU_AMP_avg=$(echo ${APCPDU_avg} | cut -d'~' -f 1)
|
||||
APCPDU_WATT_avg=$(echo ${APCPDU_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
SVRRM_WAC_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['total-wac']} ${avgdays} both)
|
||||
SVRRM_AMP_WAC_avg=$(echo ${SVRRM_WAC_avg} | cut -d'~' -f 1)
|
||||
SVRRM_WATT_WAC_avg=$(echo ${SVRRM_WAC_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
AS=$(IDS_NUMBER_FORMAT ${APCPDU_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 5`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${APCPDU_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsCL[LightYellow]}${spcA}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${APCPDU_WATT_avg} 1 yes`'W"
|
||||
else
|
||||
echo
|
||||
fi
|
||||
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsBG[Blue]}${idsCL[White]}Equipment Subtotal ${idsCL[Default]}: ${idsCL[White]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SVRRM_WATT} 1 yes`'W ${idsBG[Default]}"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Equipment Subtotal Averages ... "
|
||||
SVRRM_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['total']} ${avgdays} both)
|
||||
SVRRM_AMP_avg=$(echo ${SVRRM_avg} | cut -d'~' -f 1)
|
||||
SVRRM_WATT_avg=$(echo ${SVRRM_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
AS=$(IDS_NUMBER_FORMAT ${SVRRM_WATT_WAC} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 4`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP_WAC_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsBG[Blue]}${spcA}${idsCL[LightYellow]}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${SVRRM_WATT_WAC_avg} 1 yes`'W ${idsBG[Default]}"
|
||||
else
|
||||
echo -e "${idsBG[Default]}"
|
||||
AS=$(IDS_NUMBER_FORMAT ${SVRRM_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 4`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsBG[Blue]}${spcA}${idsCL[LightYellow]}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${SVRRM_WATT_avg} 1 yes`'W ${idsBG[Default]}"
|
||||
else
|
||||
echo -e "${idsBG[Default]}"
|
||||
fi
|
||||
|
||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||
|
||||
AD=$(IDS_NUMBER_FORMAT ${AIRCON_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsCL[White]}Air Conditioner ${idsCL[Default]}: ${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${AIRCON_WATT} 1 yes`'W"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Air Conditioner Averages ... "
|
||||
AIRCON_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['ServerRoom-AC']} ${avgdays} both)
|
||||
AIRCON_AMP_avg=$(echo ${AIRCON_avg} | cut -d'~' -f 1)
|
||||
AIRCON_WATT_avg=$(echo ${AIRCON_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
AS=$(IDS_NUMBER_FORMAT ${AIRCON_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 5`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${AIRCON_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsCL[LightYellow]}${spcA}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${AIRCON_WATT_avg} 1 yes`'W"
|
||||
else
|
||||
echo
|
||||
fi
|
||||
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP_WAC} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
MSG="${idsBG[Blue]}${idsCL[White]}Server Room Total w/AIR ${idsCL[Default]}: ${idsCL[White]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SVRRM_WATT_WAC} 1 yes`'W ${idsBG[Default]}"
|
||||
echo -en "${MSG}"
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
echo -en "${idsCL[Yellow]} Calculating Server Room w/AIR Total Averages ... "
|
||||
|
||||
SVRRM_WAC_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['total-wac']} ${avgdays} both)
|
||||
SVRRM_AMP_WAC_avg=$(echo ${SVRRM_WAC_avg} | cut -d'~' -f 1)
|
||||
SVRRM_WATT_WAC_avg=$(echo ${SVRRM_WAC_avg} | cut -d'~' -f 2)
|
||||
echo -en "\r\033[K"
|
||||
|
||||
AS=$(IDS_NUMBER_FORMAT ${SVRRM_WATT_WAC} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 4`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
|
||||
AD=$(IDS_NUMBER_FORMAT ${SVRRM_AMP_WAC_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
|
||||
echo -e "${MSG}${idsBG[Blue]}${spcA}${idsCL[LightYellow]}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${SVRRM_WATT_WAC_avg} 1 yes`'W ${idsBG[Default]}"
|
||||
else
|
||||
echo -e "${idsBG[Default]}"
|
||||
fi
|
||||
|
||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||
|
||||
|
||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||
fi
|
||||
|
||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||
else
|
||||
|
||||
|
||||
|
||||
DIVIDER . lightCyan ${PRI_WIDTH}
|
||||
fi
|
||||
|
||||
[ ${REPORT} -eq 0 ] && echo -e "${idsCL[Default]}"
|
||||
|
||||
fi
|
||||
|
||||
if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "offsite" ]) && [ "${PTYPE}" != "esxi" ]; then
|
||||
if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "offsite" ]) && [ "${PTYPE}" != "esxi" ] && [ "${IP}" != "10.6.1"* ]]; then
|
||||
|
||||
DIVIDER . yellow ${PRI_WIDTH}
|
||||
echo -en "${idsCL[Yellow]}Offsite Power Information"
|
||||
@@ -420,7 +429,7 @@ CHECKPOWER(){
|
||||
fi
|
||||
|
||||
########## KYLE #############
|
||||
if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "kyle" ]) && [ "${PTYPE}" != "esxi" ]; then
|
||||
if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "kyle" ]) && [ "${PTYPE}" != "esxi" ] && [ "${IP}" != "10.6.1"* ]]; then
|
||||
echo
|
||||
DIVIDER . yellow ${PRI_WIDTH}
|
||||
echo -en "${idsCL[Yellow]}Kyle's Power Information"
|
||||
|
||||
Reference in New Issue
Block a user