diff --git a/defaults.inc b/defaults.inc index cffe6700..9e592d80 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.5.174-01282024' +VERS='2.5.175-01282024' noheader=' update service dailytemp confsync -r -report ' diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index 68e8f4c7..48a854c0 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -554,7 +554,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && (( $(bc <<< "${temp_f} < $(echo "scale=2; ${DEFAULT_ESXI_EXHAUST_MIN}+${ESXI_FANSPEED_GL_ZONE}" | bc)") )); then if [ ${FanSpeed} -ne ${DEFAULT_ESXI_FANSPEED} ]; then if [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${SENSORa}]}"* ]]; then - SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FanSpeed Control" "Settings fans back to normal ${DEFAULT_ESXI_FANSPEED}%" + SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FanSpeed Control" "Setting fans back to normal ${DEFAULT_ESXI_FANSPEED}%" ipmitool -I lanplus -H ${PW_HOST_IDRACS[${SENSORa}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x00 >/dev/null 2>&1 ipmitool -I lanplus -H ${PW_HOST_IDRACS[${SENSORa}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x02 0xff 0x$(printf "%X" "${DEFAULT_ESXI_FANSPEED}") >/dev/null 2>&1 echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Resetting FanSpeed back to ${DEFAULT_ESXI_FANSPEED}%" >> ${logtemp} @@ -570,10 +570,26 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ fi fi ([ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa} ] || [ "$(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa})" != "${FanSpeed}" ]) && echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa} - + [ -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl ] && rm -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl + elif [ -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && (( $(bc <<< "${temp_f} >= $(echo "scale=2; ${DEFAULT_ESXI_EXHAUST_MIN}-${ESXI_FANSPEED_GL_ZONE}" | bc)") )) && (( $(bc <<< "${temp_f} <= $(echo "scale=2; ${DEFAULT_ESXI_EXHAUST_MIN}+${ESXI_FANSPEED_GL_ZONE}" | bc)") )); then #GOLDILOCK ZONE [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set + [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl ] && echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl + if [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl)) -ge 3600 ] && (( $(bc <<< "$(expr ${DEFAULT_ESXI_FANSPEED} + 5) < ${FanSpeed}") )); then + SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FanSpeed Control" "GL Zone Alert: Resetting fans back to normal ${DEFAULT_ESXI_FANSPEED}%" + ipmitool -I lanplus -H ${PW_HOST_IDRACS[${SENSORa}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x00 >/dev/null 2>&1 + ipmitool -I lanplus -H ${PW_HOST_IDRACS[${SENSORa}]} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x02 0xff 0x$(printf "%X" "${DEFAULT_ESXI_FANSPEED}") >/dev/null 2>&1 + echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Resetting FanSpeed back to ${DEFAULT_ESXI_FANSPEED}%" >> ${logtemp} + echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Resetting FanSpeed back to ${DEFAULT_ESXI_FANSPEED}%" >> ${PW_LOGFILE} + echo "${DEFAULT_ESXI_FANSPEED}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set + rm -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl + if [ "${PW_HOST_IDRACS[${SENSORa}]}" == "10.10.2.27" ]; then + ipmitool -I lanplus -H 10.10.2.26 -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x01 0x00 >/dev/null 2>&1 + ipmitool -I lanplus -H 10.10.2.26 -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" raw 0x30 0x30 0x02 0xff 0x$(printf "%X" "${DEFAULT_ESXI_FANSPEED}") >/dev/null 2>&1 + echo "${DEFAULT_ESXI_FANSPEED}" >| ${PW_TMPFOLDER}/.lastfancheck/iDS-vMS-Host6.set + fi + fi elif (( $(bc <<< "${temp_f} >= ${DEFAULT_ESXI_EXHAUST_MIN}") )); then [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && NEW_FanSpeed=$(expr ${DEFAULT_ESXI_FANSPEED} + 5) || NEW_FanSpeed=$(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) + 5) @@ -593,6 +609,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ fi fi fi + [ -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl ] && rm -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl else NEW_FanSpeed=$(expr ${FanSpeed} - 5) @@ -612,6 +629,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ fi fi fi + [ -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl ] && rm -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl fi