Update power.inc.sh

This commit is contained in:
2024-08-25 21:29:14 -05:00
parent 29b31e20fd
commit 6733321663

View File

@@ -169,17 +169,6 @@ CHECKPOWER(){
VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLTIN}" | bc`
fi
### KYLE
KYLE_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['KP-Power']}:8888/status/${PW_SENSOR_DEVICEID['KP-Power']} | jq '.dps')
if [ "${KYLE_INFO}" != "" ]; then
KYLE_AMP=$(echo "${KYLE_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | bc -l) 2)
KYLE_WATT=$(echo "${KYLE_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | bc -l)
else
KYLE_AMP=0
KYLE_WATT=0
fi
[ ${REPORT} -eq 0 ] && echo -en "\r\033[K"
echo -e "${idsCL[White]}Inverter State ${idsCL[Default]}: ${INV_STATE_disp}"
@@ -306,30 +295,6 @@ CHECKPOWER(){
DIVIDER . lightCyan ${PRI_WIDTH}
####### KYLE ####
DIVIDER . lightCyan ${PRI_WIDTH}
[ "${avgdays}" != "" ] && echo -e " --${idsCL[LightYellow]}${avgdays_disp}-Averages---"
echo -en "${idsCL[LightCyan]}Kyle Amps Watts"
[ "${avgdays}" != "" ] && echo -e " Amps Watts" || echo
AD=$(IDS_NUMBER_FORMAT ${KYLE_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
MSG="${idsCL[White]}Kyle Total Power Usage ${idsCL[Default]}: ${idsCL[White]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${KYLE_WATT} 1 yes`'W ${idsCL[Default]}"
echo -en "${MSG}"
if [ "${avgdays}" != "" ]; then
echo -en "${idsCL[Yellow]} Calculating Kyle Total Power Averages ... "
KYLE_POWER_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['KP-Power']} ${avgdays} both)
KYLE_AMP_avg=$(echo ${KYLE_POWER_avg} | cut -d'~' -f 1)
KYLE_WATT_avg=$(echo ${KYLE_POWER_avg} | cut -d'~' -f 2)
echo -en "\r\033[K"
AS=$(IDS_NUMBER_FORMAT ${KYLE_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 4`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
AD=$(IDS_NUMBER_FORMAT ${KYLE_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
echo -e "${MSG}${spcA}${idsCL[LightYellow]}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${KYLE_WATT_avg} 1 yes`'W ${idsCL[Default]}"
else
echo -e "${idsCL[Default]}"
fi
DIVIDER . lightCyan ${PRI_WIDTH}
fi
@@ -447,6 +412,49 @@ CHECKPOWER(){
#
fi
########## KYLE #############
if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "kyle" ]) && [ "${PTYPE}" != "esxi" ]; then
DIVIDER . yellow ${PRI_WIDTH}
echo -en "${idsCL[Yellow]}Kyle's Power Information"
[ "${avgdays}" != "" ] && echo -e " ${idsCL[LightYellow]}--${avgdays_disp}-Averages---" || echo
echo -en "${idsCL[LightCyan]} Amps Watts"
[ "${avgdays}" != "" ] && echo -e " Amps Watts" || echo
DIVIDER . yellow ${PRI_WIDTH}
[ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from Kyle's Equipment ... "
KYLE_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['KP-Power']}:8888/status/${PW_SENSOR_DEVICEID['KP-Power']} | jq '.dps')
if [ "${KYLE_INFO}" != "" ]; then
KYLE_AMP=$(echo "${KYLE_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | bc -l) 2)
KYLE_WATT=$(echo "${KYLE_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | bc -l)
else
KYLE_AMP=0
KYLE_WATT=0
fi
[ ${REPORT} -eq 0 ] && echo -en "\r\033[K"
AD=$(IDS_NUMBER_FORMAT ${KYLE_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
MSG="${idsCL[White]}Total Power Usage ${idsCL[Default]}: ${idsCL[White]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${KYLE_WATT} 1 yes`'W ${idsCL[Default]}"
echo -en "${MSG}"
if [ "${avgdays}" != "" ]; then
echo -en "${idsCL[Yellow]} Calculating Kyle's Total Power Averages ... "
KYLE_POWER_avg=$(AVERAGEPOWER ${PW_POWERSENSOR_ID['KP-Power']} ${avgdays} both)
KYLE_AMP_avg=$(echo ${KYLE_POWER_avg} | cut -d'~' -f 1)
KYLE_WATT_avg=$(echo ${KYLE_POWER_avg} | cut -d'~' -f 2)
echo -en "\r\033[K"
AS=$(IDS_NUMBER_FORMAT ${KYLE_WATT} 1 yes); c=0; spcA=''; spc1=`expr ${wspc} - ${#AS} + 4`; until [ ${c} = ${spc1} ]; do spcA="${spcA} "; ((c++)); done
AD=$(IDS_NUMBER_FORMAT ${KYLE_AMP_avg} 2 yes); c=0; spcB=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spcB="${spcB} "; ((c++)); done
echo -e "${MSG}${spcA}${idsCL[LightYellow]}${AD}'A${spcB}`IDS_NUMBER_FORMAT ${KYLE_WATT_avg} 1 yes`'W ${idsCL[Default]}"
else
echo -e "${idsCL[Default]}"
fi
fi
[ ${REPORT} -eq 0 ] && echo -e "${idsCL[Default]}"
if [ "${PTYPE}" != "power" ]; then
@@ -462,11 +470,19 @@ CHECKPOWER(){
SENSOR_TOTAL_AMPS_MAINSITE=0
SENSOR_TOTAL_WATTS_OFFSITE=0
SENSOR_TOTAL_AMPS_OFFSITE=0
SENSOR_TOTAL_WATTS_KYLE=0
SENSOR_TOTAL_AMPS_KYLE=0
SENSOR_TOTAL_WATTS=0
SENSOR_TOTAL_AMPS=0
if [ "${avgdays}" != "" ]; then
AVERAGE_WATTS_MAINSITE=0
AVERAGE_AMPS_MAINSITE=0
AVERAGE_WATTS_OFFSITE=0
AVERAGE_AMPS_OFFSITE=0
AVERAGE_WATTS_KYLE=0
AVERAGE_AMPS_KYLE=0
AVERAGE_TOTAL_WATTS=0
AVERAGE_TOTAL_AMPS=0
fi
for SENSOR in ${PW_SENSOR_ORD[@]}; do
@@ -536,13 +552,19 @@ CHECKPOWER(){
echo -en "\r\033[K"
echo -e "${MSG}${idsCL[LightYellow]}${average_disp}${idsCL[Default]}"
if [[ "${PW_MAINSITE_HOSTS}" = *"${PW_HOST_ADDRESSES[${SENSOR}]}"* ]]; then
if [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]; then
AVERAGE_WATTS_MAINSITE=`echo "scale=2; ${AVERAGE_WATTS_MAINSITE}+${average_watt}" | bc`
AVERAGE_AMPS_MAINSITE=`echo "scale=2; ${AVERAGE_AMPS_MAINSITE}+${average_amp}" | bc`
else
AVERAGE_AMPS_MAINSITE=`echo "scale=2; ${AVERAGE_AMPS_MAINSITE}+${average_amp}" | bc`
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]; then
AVERAGE_WATTS_OFFSITE=`echo "scale=2; ${AVERAGE_WATTS_OFFSITE}+${average_watt}" | bc`
AVERAGE_AMPS_OFFSITE=`echo "scale=2; ${AVERAGE_AMPS_OFFSITE}+${average_amp}" | bc`
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.6."* ]]; then
AVERAGE_WATTS_KYLE=`echo "scale=2; ${AVERAGE_WATTS_KYLE}+${average_watt}" | bc`
AVERAGE_AMPS_KYLE=`echo "scale=2; ${AVERAGE_AMPS_KYLE}+${average_amp}" | bc`
fi
AVERAGE_TOTAL_WATTS=`echo "scale=2; ${AVERAGE_TOTAL_WATTS}+${average_watt}" | bc`
AVERAGE_TOTAL_AMPS=`echo "scale=2; ${AVERAGE_TOTAL_AMPS}+${average_amp}" | bc`
else
echo -e "${idsCL[Default]}"
fi
@@ -561,7 +583,12 @@ CHECKPOWER(){
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]; then
SENSOR_TOTAL_WATTS_OFFSITE=$(expr ${SENSOR_TOTAL_WATTS_OFFSITE} + ${HOST_WATTS})
SENSOR_TOTAL_AMPS_OFFSITE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_OFFSITE}+${HOST_AMPS}" | bc)
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.6."* ]]; then
SENSOR_TOTAL_WATTS_KYLE=$(expr ${SENSOR_TOTAL_WATTS_KYLE} + ${HOST_WATTS})
SENSOR_TOTAL_AMPS_KYLE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_KYLE}+${HOST_AMPS}" | bc)
fi
SENSOR_TOTAL_WATTS=$(expr ${SENSOR_TOTAL_WATTS} + ${HOST_WATTS})
SENSOR_TOTAL_AMPS=$(echo "scale=1; ${SENSOR_TOTAL_AMPS}+${HOST_AMPS}" | bc)
fi
fi
fi
@@ -573,15 +600,32 @@ CHECKPOWER(){
if [ "${STYPE}" = "" ] || [ "${STYPE}" = "mainsite" ]; then
AD=`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_AMPS_MAINSITE} 1 true`; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
echo -en "${idsCL[LightCyan]}Mainsite ESXi Total ${idsCL[Default]}: ${idsCL[LightGreen]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_WATTS_MAINSITE} 0`'W "
AD=`IDS_NUMBER_FORMAT ${AVERAGE_AMPS_MAINSITE} 1 true`; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
[ "${avgdays}" != "" ] && AD=`IDS_NUMBER_FORMAT ${AVERAGE_AMPS_MAINSITE} 1 true`; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
[ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AD}'A${spc}`IDS_NUMBER_FORMAT ${AVERAGE_WATTS_MAINSITE} 0`'W" || echo
fi
if [ "${STYPE}" = "" ] || [ "${STYPE}" = "offsite" ]; then
AD=`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_AMPS_OFFSITE} 1 true`; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
echo -en "${idsCL[LightCyan]}Offsite ESXi Total ${idsCL[Default]}: ${idsCL[LightGreen]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_WATTS_OFFSITE} 0`'W "
AD=${AVERAGE_AMPS_OFFSITE}; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
[ "${avgdays}" != "" ] && AD=${AVERAGE_AMPS_OFFSITE}; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
[ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AD}'A${spc}`IDS_NUMBER_FORMAT ${AVERAGE_WATTS_OFFSITE} 0`'W" || echo
fi
if [ "${STYPE}" = "" ] || [ "${STYPE}" = "kyle" ]; then
AD=`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_AMPS_KYLE} 1 true`; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
echo -en "${idsCL[LightCyan]}Kyle ESXi Total ${idsCL[Default]}: ${idsCL[LightGreen]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_WATTS_KYLE} 0`'W "
[ "${avgdays}" != "" ] && AD=${AVERAGE_AMPS_KYLE}; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
[ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AD}'A${spc}`IDS_NUMBER_FORMAT ${AVERAGE_WATTS_KYLE} 0`'W" || echo
fi
if [ "${STYPE}" = "" ]; then
DIVIDER . yellow ${PRI_WIDTH}
AD=`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_AMPS} 1 true`; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
echo -en "${idsCL[LightCyan]}ESXi Total ${idsCL[Default]}: ${idsCL[LightGreen]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${SENSOR_TOTAL_WATTS} 0`'W "
[ "${avgdays}" != "" ] && AD=${AVERAGE_TOTAL_AMPS}; c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
[ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} ${AD}'A${spc}`IDS_NUMBER_FORMAT ${AVERAGE_TOTAL_WATTS} 0`'W" || echo
fi
fi
if [ ${REPORT} -eq 0 ]; then
if [ "${avgdays}" != "" ]; then