From 10e1bcb9bfa0d9404f7717cc2b8368b16b35fd62 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 10 Feb 2024 17:53:40 -0600 Subject: [PATCH] update --- defaults.inc | 2 +- inc/temp.inc.sh | 41 ++++++++++++++++++++++++++++------------- 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/defaults.inc b/defaults.inc index 25023943..3030eaef 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.5.287-02072024' +VERS='2.5.288-02102024' noheader=' update service dailytemp confsync -r -report ' diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index 32c327a8..715fb83b 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -668,26 +668,39 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ # SET_ESXI_FANSPEED $(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) - 5) ${SENSORa} >/dev/null 2>&1 & elif [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ]; then - SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FanSpeed Control" "Defaulting FanSpeeds to ${ESXI_DEF_FANSPEED}%" - SET_ESXI_FANSPEED ${ESXI_DEF_FANSPEED} ${SENSORa} >/dev/null 2>&1 & + NEW_FanSpeed=$(GET_DEFAULT_FANSPEED ${SENSORa} ${FanSpeed}) + SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FanSpeed Control" "GOLDILOCK: Defaulting FanSpeeds to ${NEW_FanSpeed}%" + SET_ESXI_FANSPEED ${NEW_FanSpeed} ${SENSORa} >/dev/null 2>&1 & fi ### INCREASING ### elif (( $(bc <<< "${temp_f} >= ${ESXI_DEFAULT_EXHAUST_MIN}") )); then - (( $(bc <<< "${temp_f} >= $(expr ${ESXI_DEFAULT_EXHAUST_MIN} + 5)") )) && FAN_INCREASE=10 || FAN_INCREASE=5 - [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && NEW_FanSpeed=$(expr ${ESXI_DEF_FANSPEED} + ${FAN_INCREASE}) || NEW_FanSpeed=$(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) + ${FAN_INCREASE}) - if [ ${NEW_FanSpeed} -le $(expr ${PW_ESXI_MAX_FANSPEED} + 4) ] && [ ${FanSpeed} -ne ${PW_ESXI_MAX_FANSPEED} ]; then - [ ${NEW_FanSpeed} -gt ${PW_ESXI_MAX_FANSPEED} ] && NEW_FanSpeed=${PW_ESXI_MAX_FANSPEED} - [ ${NEW_FanSpeed} -ge 60 ] && SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Warm" "Increasing fans to ${NEW_FanSpeed}%" + if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ]; then + NEW_FanSpeed=$(expr $(GET_DEFAULT_FANSPEED ${SENSORa} ${FanSpeed}) + 5) + SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FanSpeed Control" "INCREASE: Defaulting FanSpeeds to ${NEW_FanSpeed}%" SET_ESXI_FANSPEED ${NEW_FanSpeed} ${SENSORa} >/dev/null 2>&1 & + else + (( $(bc <<< "${temp_f} >= $(expr ${ESXI_DEFAULT_EXHAUST_MIN} + 5)") )) && FAN_INCREASE=10 || FAN_INCREASE=5 + NEW_FanSpeed=$(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) + ${FAN_INCREASE}) + if [ ${NEW_FanSpeed} -le $(expr ${PW_ESXI_MAX_FANSPEED} + 4) ] && [ ${FanSpeed} -ne ${PW_ESXI_MAX_FANSPEED} ]; then + [ ${NEW_FanSpeed} -gt ${PW_ESXI_MAX_FANSPEED} ] && NEW_FanSpeed=${PW_ESXI_MAX_FANSPEED} + [ ${NEW_FanSpeed} -ge 60 ] && SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Warm" "Increasing fans to ${NEW_FanSpeed}%" + SET_ESXI_FANSPEED ${NEW_FanSpeed} ${SENSORa} >/dev/null 2>&1 & + fi fi ### DECREASING ### else - (( $(bc <<< "${temp_f} <= $(expr ${ESXI_DEFAULT_EXHAUST_MIN} - 5)") )) && FAN_DECREASE=10 || FAN_DECREASE=5 - [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && NEW_FanSpeed=$(expr ${ESXI_DEF_FANSPEED}) || NEW_FanSpeed=$(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) - ${FAN_DECREASE}) - if [ ${NEW_FanSpeed} -ge $(expr ${ESXI_DEF_FANSPEED} - 4) ] && [ ${FanSpeed} -ne ${ESXI_DEF_FANSPEED} ]; then - [ ${NEW_FanSpeed} -lt ${ESXI_DEF_FANSPEED} ] && NEW_FanSpeed=${ESXI_DEF_FANSPEED} - [ ${NEW_FanSpeed} -ge 65 ] && SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Cooling" "Decreasing fans to ${NEW_FanSpeed}%" + if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ]; then + NEW_FanSpeed=$(expr $(GET_DEFAULT_FANSPEED ${SENSORa} ${FanSpeed}) - 5) + SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FanSpeed Control" "DECREASE: Defaulting FanSpeeds to ${NEW_FanSpeed}%" SET_ESXI_FANSPEED ${NEW_FanSpeed} ${SENSORa} >/dev/null 2>&1 & + else + (( $(bc <<< "${temp_f} <= $(expr ${ESXI_DEFAULT_EXHAUST_MIN} - 5)") )) && FAN_DECREASE=10 || FAN_DECREASE=5 + NEW_FanSpeed=$(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) - ${FAN_DECREASE}) + if [ ${NEW_FanSpeed} -ge $(expr ${ESXI_DEF_FANSPEED} - 4) ] && [ ${FanSpeed} -ne ${ESXI_DEF_FANSPEED} ]; then + [ ${NEW_FanSpeed} -lt ${ESXI_DEF_FANSPEED} ] && NEW_FanSpeed=${ESXI_DEF_FANSPEED} + [ ${NEW_FanSpeed} -ge 65 ] && SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Cooling" "Decreasing fans to ${NEW_FanSpeed}%" + SET_ESXI_FANSPEED ${NEW_FanSpeed} ${SENSORa} >/dev/null 2>&1 & + fi fi fi elif [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" != *"${PW_HOST_IDRACS[${SENSORa}]}"* ]] && [[ "${vSENSOR}" = *"Exhaust"* ]]; then @@ -1220,7 +1233,9 @@ SERVERROOM_TEMP_DIFFERENCE(){ echo -e "\nruntime: ${runtime}s\n" } - +GET_DEFAULT_FANSPEED(){ + [ "${2}" != "" ] && [ $(snmpwalk -v 1 -c public -t 2 ${PW_HOST_IDRACS[${1}]} .1.3.6.1.4.1.674.10892.5.2.5 -O vq | sed -e 's/"//g') -ge 1800 ] && echo ${2} || echo ${ESXI_DEF_FANSPEED} +}