diff --git a/inc/power.inc.sh b/inc/power.inc.sh index 45241c2a..ced17bc9 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -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