diff --git a/powerwall.sh b/powerwall.sh index 03ab0e79..ef4179fe 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -712,13 +712,22 @@ CHECKPOWER(){ IFS=$'\n' read -rd '' -a HOST_WATT_SENSORS <<<"${HOST_WATT_SENSORS}" unset IFS - s=1 + s=1; found=0 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/.*: //') + if [[ "${ss}" = *"System Board"* ]]; then + found=1 + break + else + ((s++)) + fi + done + if [ ${found} -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.${s} | sed 's/.*: //') + [[ "${HOST_WATTS}" = *"Timeout"* ]] && HOST_WATTS_disp="${idsCL[LightRed]}Host Offline" || HOST_WATTS_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${HOST_WATTS}`'watts" + else + HOST_WATTS_disp="${idsCL[LightRed]}Could not pull data" + fi # fi - [[ "${HOST_WATTS}" = *"Timeout"* ]] && HOST_WATTS_disp="${idsCL[LightRed]}Host Offline" || HOST_WATTS_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${HOST_WATTS}`'watts" if [ "${avgdays}" != "" ]; then average=$(AVERAGEPOWER ${PW_POWERSENSOR_ID[${SENSOR}]} ${avgdays}) average_disp="${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${average}`'watts"