From f8171dcab0e78a0b489eda263afa1082b0ef09a7 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 6 Nov 2023 20:45:15 -0600 Subject: [PATCH] Update powerwall.sh --- powerwall.sh | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) diff --git a/powerwall.sh b/powerwall.sh index 93e4307f..f58c547f 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -521,7 +521,7 @@ CHECKPOWER(){ start=`date +%s` rm -f ${PW_TMPFOLDER}/*.hostpower* - if [ "${1}" == "" ] || [ "${1}" == "sensors" ]; then + if [ "${1}" == "" ] || [ "${1}" == "mainsite" ]; then echo DIVIDER . yellow 75 echo -e "${idsCL[Yellow]}Mainsite Power Information" @@ -641,31 +641,37 @@ CHECKPOWER(){ fi - if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then + # if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then DIVIDER . yellow 75 echo -e "${idsCL[Yellow]}ESXi Host Power Information" DIVIDER . yellow 75 for SENSOR in ${PW_SENSOR_ORD[@]}; do if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then - HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3 | sed 's/.*: //') - if [ "${HOST_WATTS}" = "" ]; then - HOST_WATT_SENSORS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1 -O vq | sed -e 's/"//g') - IFS=$'\n' - read -rd '' -a HOST_WATT_SENSORS <<<"${HOST_WATT_SENSORS}" - unset IFS - s=1 - for ss in "${HOST_WATT_SENSORS[@]}"; do - [[ "${ss}" = *"System Board"* ]] && break || ((s++)) - done - HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //') + gochk=0 + if [ "${1}" == "" ] || [ "${1}" == "hosts" ] || ([ "${1}" == "mainsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]) || ([ "${1}" == "offsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2."* ]]); then + gochk=1 + fi + if [ ${gochk} -eq 1 ]; then + HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.3 | sed 's/.*: //') + if [ "${HOST_WATTS}" = "" ]; then + HOST_WATT_SENSORS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1 -O vq | sed -e 's/"//g') + IFS=$'\n' + read -rd '' -a HOST_WATT_SENSORS <<<"${HOST_WATT_SENSORS}" + unset IFS + s=1 + for ss in "${HOST_WATT_SENSORS[@]}"; do + [[ "${ss}" = *"System Board"* ]] && break || ((s++)) + done + HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //') + fi + [[ "${HOST_WATTS}" = *"Timeout"* ]] && HOST_WATTS_disp="${idsCL[LightRed]}Host Offline" || HOST_WATTS_disp="${idsCL[Green]}${HOST_WATTS}'watts" + echo -e "${idsCL[LightCyan]}${SENSOR} ${idsCL[Default]}: ${HOST_WATTS_disp}${idsCL[Default]}" fi - [[ "${HOST_WATTS}" = *"Timeout"* ]] && HOST_WATTS_disp="${idsCL[LightRed]}Host Offline" || HOST_WATTS_disp="${idsCL[Green]}${HOST_WATTS}'watts" - echo -e "${idsCL[LightCyan]}${SENSOR} ${idsCL[Default]}: ${HOST_WATTS_disp}${idsCL[Default]}" fi done - fi + # fi end=`date +%s`; runtime=$((end-start)); echo -e "\nruntime: ${runtime}" [ "${action}" != "" ] && echo