Update temp.inc.sh

This commit is contained in:
2024-02-26 22:25:34 -06:00
parent aeffe19df6
commit bca43705f1

View File

@@ -427,7 +427,8 @@ CHECKTEMPSENSOR(){
} }
AVERAGETEMP(){ AVERAGETEMP(){
temptotal=0 temptotal=0
daysback=${2} lookback=${2}
interval=0
sensor=${1} sensor=${1}
sensorid=${PW_SENSOR_ID[${sensor}]} sensorid=${PW_SENSOR_ID[${sensor}]}
logsfound=0; logsfound=0;
@@ -439,28 +440,29 @@ AVERAGETEMP(){
WHERE="sensorid=${sensorid}" WHERE="sensorid=${sensorid}"
fi fi
if [[ "${daysback^^}" = *"M"* ]]; then if [[ "${lookback^^}" = *"M"* ]]; then
interval="${daysback::-1} MINUTE" interval="${lookback::-1} MINUTE"
elif [[ "${daysback^^}" = *"H"* ]]; then elif [[ "${lookback^^}" = *"H"* ]]; then
interval="${daysback::-1} HOUR" interval="${lookback::-1} HOUR"
elif [[ "${daysback^^}" = *"D"* ]]; then elif [[ "${lookback^^}" = *"D"* ]]; then
interval="${daysback::-1} DAY" interval="${lookback::-1} DAY"
elif [[ "${daysback}" =~ ^[0-9]+$ ]]; then elif [[ "${lookback}" =~ ^[0-9]+$ ]]; then
interval="${daysback} DAY" interval="${lookback} DAY"
fi fi
if [ "${interval}" != "0" ]; then
while IFS=$'\t' read date temp hum speed ;do while IFS=$'\t' read date temp hum speed ;do
if ([ "${3}" == "FanSpeed" ] && [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]]) || [ "${sensorid}" == "19" ]; then if ([ "${3}" == "FanSpeed" ] && [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]]) || [ "${sensorid}" == "19" ]; then
val=${speed} val=${speed}
else else
val=${temp} val=${temp}
fi fi
if [ "${val}" != "" ] && [ "${val}" != "0" ] && [[ "${val}" =~ ^[0-9]+(\.[0-9]+)?$ ]]; then if [ "${val}" != "" ] && [ "${val}" != "0" ] && [[ "${val}" =~ ^[0-9]+(\.[0-9]+)?$ ]]; then
temptotal=$(bc <<< "scale=2; ${temptotal}+${val}") temptotal=$(bc <<< "scale=2; ${temptotal}+${val}")
((logsfound++)) ((logsfound++))
fi fi
done < <(${mysql_conn} -se "USE servermonitor; SELECT date,temp,hum,speed from sensor_data WHERE ${WHERE} AND date >= DATE_SUB(NOW(), INTERVAL ${interval}) ORDER BY id DESC;") done < <(${mysql_conn} -se "USE servermonitor; SELECT date,temp,hum,speed from sensor_data WHERE ${WHERE} AND date >= DATE_SUB(NOW(), INTERVAL ${interval}) ORDER BY id DESC;")
if [ ${logsfound} -gt 0 ]; then fi
if [ "${interval}" != "0" ] && [ ${logsfound} -gt 0 ]; then
if [ "${3}" == "FanSpeed" ] && [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]]; then if [ "${3}" == "FanSpeed" ] && [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]]; then
average=$(ROUND_NUMBER $(bc <<< "scale=2; ${temptotal}/${logsfound}") 2) average=$(ROUND_NUMBER $(bc <<< "scale=2; ${temptotal}/${logsfound}") 2)
elif [ "${sensorid}" == "19" ]; then elif [ "${sensorid}" == "19" ]; then