From bca43705f1cd2f14dce197eaf2efa4d29be57034 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 26 Feb 2024 22:25:34 -0600 Subject: [PATCH] Update temp.inc.sh --- inc/temp.inc.sh | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index a6bd1500..bbcef89b 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -427,7 +427,8 @@ CHECKTEMPSENSOR(){ } AVERAGETEMP(){ temptotal=0 - daysback=${2} + lookback=${2} + interval=0 sensor=${1} sensorid=${PW_SENSOR_ID[${sensor}]} logsfound=0; @@ -439,28 +440,29 @@ AVERAGETEMP(){ WHERE="sensorid=${sensorid}" fi - if [[ "${daysback^^}" = *"M"* ]]; then - interval="${daysback::-1} MINUTE" - elif [[ "${daysback^^}" = *"H"* ]]; then - interval="${daysback::-1} HOUR" - elif [[ "${daysback^^}" = *"D"* ]]; then - interval="${daysback::-1} DAY" - elif [[ "${daysback}" =~ ^[0-9]+$ ]]; then - interval="${daysback} DAY" + if [[ "${lookback^^}" = *"M"* ]]; then + interval="${lookback::-1} MINUTE" + elif [[ "${lookback^^}" = *"H"* ]]; then + interval="${lookback::-1} HOUR" + elif [[ "${lookback^^}" = *"D"* ]]; then + interval="${lookback::-1} DAY" + elif [[ "${lookback}" =~ ^[0-9]+$ ]]; then + interval="${lookback} DAY" fi - - while IFS=$'\t' read date temp hum speed ;do - if ([ "${3}" == "FanSpeed" ] && [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]]) || [ "${sensorid}" == "19" ]; then - val=${speed} - else - val=${temp} - fi - if [ "${val}" != "" ] && [ "${val}" != "0" ] && [[ "${val}" =~ ^[0-9]+(\.[0-9]+)?$ ]]; then - temptotal=$(bc <<< "scale=2; ${temptotal}+${val}") - ((logsfound++)) - 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;") - if [ ${logsfound} -gt 0 ]; then + if [ "${interval}" != "0" ]; then + while IFS=$'\t' read date temp hum speed ;do + if ([ "${3}" == "FanSpeed" ] && [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]]) || [ "${sensorid}" == "19" ]; then + val=${speed} + else + val=${temp} + fi + if [ "${val}" != "" ] && [ "${val}" != "0" ] && [[ "${val}" =~ ^[0-9]+(\.[0-9]+)?$ ]]; then + temptotal=$(bc <<< "scale=2; ${temptotal}+${val}") + ((logsfound++)) + 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;") + fi + if [ "${interval}" != "0" ] && [ ${logsfound} -gt 0 ]; then if [ "${3}" == "FanSpeed" ] && [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]]; then average=$(ROUND_NUMBER $(bc <<< "scale=2; ${temptotal}/${logsfound}") 2) elif [ "${sensorid}" == "19" ]; then