Update temp.inc.sh

This commit is contained in:
2024-01-27 19:55:09 -06:00
parent ccf763a641
commit 7896a2c8c9

View File

@@ -542,57 +542,54 @@ CHECKTEMP_SERVICE_RUNSENSOR(){
echo ${PW_THRESHOLDS[${SENSOR}]} | cut -d',' -f 1 | read temp_warn
echo ${PW_THRESHOLDS[${SENSOR}]} | cut -d',' -f 2 | read temp_crit
echo ${PW_THRESHOLDS[${SENSOR}]} | cut -d',' -f 3 | read temp_crit_sys
echo "HERE: ${SENSORa} - ${vSENSOR}"
if [[ "${vSENSOR}" = *"Exhaust"* ]]; then
if [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${SENSORa}]}"* ]]; then
if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set)) -ge 600 ]; then
if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && (( $(bc <<< "${temp_f} < 100") )); 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}%"
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
elif [ ${FanSpeed} -ge 90 ]; then
SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FAN ISSUE?!" "Possible fan issue, currently running at ${FanSpeed}%" 1
fi
fi
([ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa} ] || [ "$(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa})" != "${FanSpeed}" ]) && echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}
echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
elif (( $(bc <<< "${temp_f} >= 100") )); then
[ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && NEW_FanSpeed=$(expr ${DEFAULT_ESXI_FANSPEED} + 5) || NEW_FanSpeed=$(expr ${FanSpeed} + 5)
if [ ${NEW_FanSpeed} -le 104 ]; then
[ ${NEW_FanSpeed} -gt 100 ] && NEW_FanSpeed=100
SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Warm" "Increasing fans to ${NEW_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" "${NEW_FanSpeed}") >/dev/null 2>&1
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Increasing fans to ${NEW_FanSpeed}%" >> ${logtemp}
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Increasing fans to ${NEW_FanSpeed}%" >> ${PW_LOGFILE}
echo "${NEW_FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
fi
else
NEW_FanSpeed=$(expr ${FanSpeed} - 5)
if [ ${NEW_FanSpeed} -ge $(expr ${DEFAULT_ESXI_FANSPEED} - 4) ]; then
[ ${NEW_FanSpeed} -lt ${DEFAULT_ESXI_FANSPEED} ] && NEW_FanSpeed=${DEFAULT_ESXI_FANSPEED}
SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Cooling" "Decreasing fans to ${NEW_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" "${NEW_FanSpeed}") >/dev/null 2>&1
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Decreasing fans to ${NEW_FanSpeed}%" >> ${logtemp}
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Decreasing fans to ${NEW_FanSpeed}%" >> ${PW_LOGFILE}
echo "${NEW_FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
fi
fi
[ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
fi
fi
fi
elif [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${SENSORa}]}"* ]] && [[ "${vSENSOR}" = *"Exhaust"* ]]; then
if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set)) -ge 600 ]; then
if [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && (( $(bc <<< "${temp_f} < 100") )); 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}%"
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
elif [ ${FanSpeed} -ge 90 ]; then
SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FAN ISSUE?!" "Possible fan issue, currently running at ${FanSpeed}%" 1
fi
fi
([ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa} ] || [ "$(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa})" != "${FanSpeed}" ]) && echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}
echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
elif (( $(bc <<< "${temp_f} >= 100") )); then
[ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && NEW_FanSpeed=$(expr ${DEFAULT_ESXI_FANSPEED} + 5) || NEW_FanSpeed=$(expr ${FanSpeed} + 5)
if [ ${NEW_FanSpeed} -le 104 ]; then
[ ${NEW_FanSpeed} -gt 100 ] && NEW_FanSpeed=100
SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Warm" "Increasing fans to ${NEW_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" "${NEW_FanSpeed}") >/dev/null 2>&1
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Increasing fans to ${NEW_FanSpeed}%" >> ${logtemp}
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Increasing fans to ${NEW_FanSpeed}%" >> ${PW_LOGFILE}
echo "${NEW_FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
fi
else
NEW_FanSpeed=$(expr ${FanSpeed} - 5)
if [ ${NEW_FanSpeed} -ge $(expr ${DEFAULT_ESXI_FANSPEED} - 4) ]; then
[ ${NEW_FanSpeed} -lt ${DEFAULT_ESXI_FANSPEED} ] && NEW_FanSpeed=${DEFAULT_ESXI_FANSPEED}
SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} Exhaust Cooling" "Decreasing fans to ${NEW_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" "${NEW_FanSpeed}") >/dev/null 2>&1
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Decreasing fans to ${NEW_FanSpeed}%" >> ${logtemp}
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSOR} - Decreasing fans to ${NEW_FanSpeed}%" >> ${PW_LOGFILE}
echo "${NEW_FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
fi
fi
[ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ] && echo "${FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set
fi
fi
if [[ "${SENSORa}" != *"-Usage"* ]] && [[ "${SENSORa}" != *"FAN"* ]] && (( $(bc <<< "${temp_f} < ${temp_warn}") )); then