Update powerwall.sh

This commit is contained in:
2023-11-06 21:17:18 -06:00
parent 991bba23d1
commit bee6f81f43

View File

@@ -521,7 +521,7 @@ CHECKPOWER(){
start=`date +%s`
rm -f ${PW_TMPFOLDER}/*.hostpower*
if [ "${1}" == "" ] || [ "${1}" == "mainsite" ]; then
if [ "${1}" == "" ] || [ "${1}" == "all" ] || [ "${1}" == "mainsite" ]; then
echo
DIVIDER . yellow 75
echo -e "${idsCL[Yellow]}Mainsite Power Information"
@@ -597,7 +597,7 @@ CHECKPOWER(){
fi
if [ "${1}" == "" ] || [ "${1}" == "offsite" ]; then
if [ "${1}" == "" ] || [ "${1}" == "all" ] || [ "${1}" == "offsite" ]; then
DIVIDER . yellow 75
@@ -641,37 +641,35 @@ CHECKPOWER(){
fi
# 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
gochk=0
if [ "${1}" == "" ] || [ "${1}" == "hosts" ] || ([ "${1}" == "mainsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]) || ([ "${1}" == "offsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]); 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
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
gochk=0
if [ "${1}" == "" ] || [ "${1}" == "hosts" ] || ([ "${1}" == "mainsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]) || ([ "${1}" == "offsite" ] && [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]); then
gochk=1
fi
done
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
fi
done
# fi
end=`date +%s`; runtime=$((end-start)); echo -e "\nruntime: ${runtime}"
[ "${action}" != "" ] && echo
@@ -1610,8 +1608,13 @@ fi
echo -e "${idsCL[White]} Usage: ${idsCL[LightCyan]}powerwall {option}"
echo
echo -e " ${idsCL[Yellow]}status ${idsCL[Default]}--> PowerWall Status Information"
echo -e " ${idsCL[Yellow]}check {type} {opt} ${idsCL[Default]}--> Check Temperature Sensors"
echo -e " ${idsCL[LightYellow]} type = { all / temp / power }${idsCL[Default]} --> Defaults to All"
echo -e " ${idsCL[LightYellow]} opt = { start / stop / restart / status }"
echo -e " ${idsCL[Yellow]}checktemp {searchstring} ${idsCL[Default]}--> Check Temperature Sensors"
echo -e " ${idsCL[Yellow]}checkpower {avg} ${idsCL[Default]}--> Check Power Readings"
echo -e " ${idsCL[LightYellow]} avg = { noavg='Does not display average' / "
echo -e " #='Num of days for avg' }${idsCL[Default]} --> Defaults to 3 days avg"
echo