diff --git a/defaults.inc b/defaults.inc index 8655b2a9..234cd0e6 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.6.97-04212024' +VERS='2.6.98-04212024' noheader=' update service dailytemp confsync -r -report ' diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index ae3a7a81..eea6ef4a 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -713,7 +713,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ rm -f ${PW_TMPFOLDER}/${SENSOR}* fi if [ "${SENSORa}" == "iDS-vMS-Host6" ] && [ ! -f ${PW_TMPFOLDER}/.lastfancheck/iDS-vMS-Host6.set ]; then - [ -f ${PW_TMPFOLDER}/.lastfancheck/iDS-vMS-Host7.set ] && nfs=$(cat ${PW_TMPFOLDER}/.lastfancheck/iDS-vMS-Host7.set) || nfs=35 + [ -f ${PW_TMPFOLDER}/.lastfancheck/iDS-vMS-Host7.set ] && nfs=$(cat ${PW_TMPFOLDER}/.lastfancheck/iDS-vMS-Host7.set | cut -d'~' -f 1) || nfs=35 SET_ESXI_FANSPEED ${nfs} ${SENSORa} >/dev/null 2>&1 & fi if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "cpu" ]; then @@ -760,7 +760,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - Goldilock Zone Found (1HR)" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log elif [ -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.gl)) -ge 3600 ] && [ ${FanSpeed} -gt ${ESXI_DEF_FANSPEED} ] && (( $(bc <<< "${temp_f} < ${ESXI_DEFAULT_EXHAUST_MIN}") )); then - SET_ESXI_FANSPEED $(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) - 5) ${SENSORa} >/dev/null 2>&1 & + SET_ESXI_FANSPEED $(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set | cut -d'~' -f 1) - 5) ${SENSORa} >/dev/null 2>&1 & echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - Goldilock zone, below min for another 1HR, reducing fans by 5" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log @@ -768,7 +768,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ # SENDNOTICE "${PW_HOST_IDRACS[${SENSORa}]} FAN CONTROL" "DAAAMMMNN GOLDIE!!!! Decreasing by 5 - ${FanSpeed}% --> $(expr ${FanSpeed} - 5)%" # echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - DAAAMMMNN GOLDIE!!!! Decreasing by 5 - ${FanSpeed}% --> $(expr ${FanSpeed} - 5)%" >> ${logtemp} # echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${FanSpeed}% - ${SENSORa} - DAAAMMMNN GOLDIE!!!! Decreasing by 5 - ${FanSpeed}% --> $(expr ${FanSpeed} - 5)%" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log - # SET_ESXI_FANSPEED $(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set) - 5) ${SENSORa} >/dev/null 2>&1 & + # SET_ESXI_FANSPEED $(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set | cut -d'~' -f 1) - 5) ${SENSORa} >/dev/null 2>&1 & elif [ ! -f ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set ]; then NEW_FanSpeed=$(GET_DEFAULT_FANSPEED ${SENSORa} ${FanSpeed}) @@ -783,7 +783,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ 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}) + NEW_FanSpeed=$(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set | cut -d'~' -f 1) + ${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}%" @@ -798,7 +798,7 @@ CHECKTEMP_SERVICE_RUNSENSOR(){ 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}) + NEW_FanSpeed=$(expr $(cat ${PW_TMPFOLDER}/.lastfancheck/${SENSORa}.set | cut -d'~' -f 1) - ${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}%" @@ -1040,7 +1040,7 @@ SET_ESXI_FANSPEED(){ fan=manual elif [ "${SET_FanSpeed}" == "${ESXI_DEF_FANSPEED}" ]; then MSG="Setting Fans back to defaults: ${SET_FanSpeed}%" - elif (( $(bc <<< "${SET_FanSpeed} < $(cat ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set)") )); then + elif (( $(bc <<< "${SET_FanSpeed} < $(cat ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set | cut -d'~' -f 1)") )); then MSG="Decreasing fans to ${SET_FanSpeed}%" else MSG="Increasing fans to ${SET_FanSpeed}%" @@ -1049,7 +1049,15 @@ SET_ESXI_FANSPEED(){ [ "${logtemp}" != "" ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${SET_FanSpeed}% - ${SET_HOST} - ${MSG}" >> ${logtemp} [ ${SET_FanSpeed} -ge 70 ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${SET_FanSpeed}% - ${SET_HOST} - ${MSG}" >> ${PW_LOGFILE} echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${fan} - ${SET_HOST} - ${MSG}" >> ${PW_LOGFOLDER}/esxi-fanspeeds.log - echo "${SET_FanSpeed}" >| ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set + + if [ $(bc -l <<< "${SET_FanSpeed} < $(cat ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set | cut -d'~' -f 1)") -eq 1 ]; then + echo "${SET_FanSpeed}~d" >| ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set + elif [ $(bc -l <<< "$(cat ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set | cut -d'~' -f 1) < ${SET_FanSpeed}") -eq 1 ]; then + echo "${SET_FanSpeed}~u" >| ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set + else + echo "${SET_FanSpeed}~e" >| ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.set + fi + [ "${SET_HOST}" == "iDS-vMS-Host7" ] && [ ! -f ${PW_TMPFOLDER}/iDS-vMS-Host6.down ] && SET_ESXI_FANSPEED ${SET_FanSpeed} iDS-vMS-Host6 >/dev/null 2>&1 & [ -f ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.gl ] && rm -f ${PW_TMPFOLDER}/.lastfancheck/${SET_HOST}.gl fi