From 7f47085f5ad4a62c63b3fd2dea5c0c58596502d3 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 29 Apr 2024 17:23:29 -0500 Subject: [PATCH] Update temp.inc.sh --- inc/temp.inc.sh | 56 +++++++++++++++++++++---------------------------- 1 file changed, 24 insertions(+), 32 deletions(-) diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index e2f1b2df..43c41a89 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -298,34 +298,6 @@ CHECKTEMP(){ c=0; spc=''; spc1=`expr ${cw} - ${#sensorname} - 1`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done IFS=: read -r temp_f temp_h <<< $(CHECKTEMPSENSOR ${SENSOR}); unset IFS - if [ "${avgdays}" = "noavg" ] && [[ "${SENSOR}" != *"FAN"* ]]; then - lookback='' - for R in ${PW_TEMPIND_RANGE[@]}; do - entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${sensorname// /_}' AND sensorid='${PW_SENSOR_ID[${SENSOR}]}'")) - OLD_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL ${R} MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${R} - 7) MINUTE) ORDER BY date ASC LIMIT 1")) - if [ "${OLD_temp_f[1]}" != "" ]; then - if [ $(bc -l <<< "${temp_f} < $(echo "scale=2; ${OLD_temp_f[1]}+${PW_TEMPIND_DIFF}" | bc)") -eq 1 ] && [ $(bc -l <<< "$(echo "scale=2; ${OLD_temp_f[1]}-${PW_TEMPIND_DIFF}" | bc) < ${temp_f}") -eq 1 ]; then - lookback="${lookback}${idsCL[White]}\u23F9 " - elif [ $(bc -l <<< "$(bc <<< "scale=2; ${OLD_temp_f[1]}+(${PW_TEMPIND_DIFF}*2)") < ${temp_f}") -eq 1 ]; then - lookback="${lookback}${idsCL[LightRed]}\u25B2 " - elif [ $(bc -l <<< "${OLD_temp_f[1]} < ${temp_f}") -eq 1 ]; then - lookback="${lookback}${idsCL[Magenta]}\u25B2 " - elif [ $(bc -l <<< "${temp_f} < $(bc <<< "scale=2; ${OLD_temp_f[1]}-(${PW_TEMPIND_DIFF}*2)")") -eq 1 ]; then - lookback="${lookback}${idsCL[LightGreen]}\u25BC " - elif [ $(bc -l <<< "${temp_f} < ${OLD_temp_f[1]}") -eq 1 ]; then - lookback="${lookback}${idsCL[LightCyan]}\u25BC " - else - lookback="${lookback} " - fi - else - lookback="${lookback}${idsCL[Default]}\u22C5 " - fi - done - elif [ "${avgdays}" = "noavg" ]; then - c=0; spca=''; until [ ${c} = ${#PW_TEMPIND_RANGE[@]} ]; do spca="${spca} "; ((c++)); done - lookback="${lookback} " - fi - if [ $(bc -l <<< "${temp_f} >= ${temp_crit}") -eq 1 ] || ([ "${TTYPE}" == "fans" ] && [ $(bc -l <<< "${temp_f} > $(bc <<< "scale=2; ${GL_HIGH}+5")") -eq 1 ]); then lclr="${idsCL[LightRed]}" lmd="CRITICAL" @@ -341,12 +313,32 @@ CHECKTEMP(){ fi c=0; spct=''; spc1=`expr 7 - ${#temp_f}`; until [ ${c} = ${spc1} ]; do spct="${spct} "; ((c++)); done reading="${lclr}${lmd}${spct}${temp_f}${GAUGESH}" - echo -en "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${reading}" + echo -en "${idsCL[LightCyan]} ${sensorname}${spc}${idsCL[Default]}: ${reading} " - if [ "${temp_f}" != "" ] && [ "${average}" = "" ] && [ "${lookback}" != "" ]; then - echo -en " ${lookback}" + if [ "${temp_f}" != "" ] && [ "${avgdays}" = "noavg" ] && [[ "${SENSOR}" != *"FAN"* ]]; then + for R in ${PW_TEMPIND_RANGE[@]}; do + entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${sensorname// /_}' AND sensorid='${PW_SENSOR_ID[${SENSOR}]}'")) + OLD_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL ${R} MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${R} - 7) MINUTE) ORDER BY date ASC LIMIT 1")) + if [ "${OLD_temp_f[1]}" != "" ]; then + if [ $(bc -l <<< "${temp_f} < $(echo "scale=2; ${OLD_temp_f[1]}+${PW_TEMPIND_DIFF}" | bc)") -eq 1 ] && [ $(bc -l <<< "$(echo "scale=2; ${OLD_temp_f[1]}-${PW_TEMPIND_DIFF}" | bc) < ${temp_f}") -eq 1 ]; then + echo -en "${idsCL[White]}\u23F9 " + elif [ $(bc -l <<< "$(bc <<< "scale=2; ${OLD_temp_f[1]}+(${PW_TEMPIND_DIFF}*2)") < ${temp_f}") -eq 1 ]; then + echo -en "${idsCL[LightRed]}\u25B2 " + elif [ $(bc -l <<< "${OLD_temp_f[1]} < ${temp_f}") -eq 1 ]; then + echo -en "${idsCL[Magenta]}\u25B2 " + elif [ $(bc -l <<< "${temp_f} < $(bc <<< "scale=2; ${OLD_temp_f[1]}-(${PW_TEMPIND_DIFF}*2)")") -eq 1 ]; then + echo -en "${idsCL[LightGreen]}\u25BC " + elif [ $(bc -l <<< "${temp_f} < ${OLD_temp_f[1]}") -eq 1 ]; then + echo -en "${idsCL[LightCyan]}\u25BC " + else + echo -en " " + fi + else + echo -en "${idsCL[Default]}\u22C5 " + fi + done elif [ "${avgdays}" = "noavg" ]; then - echo -en " " + echo -en " " fi if [ "${avgdays}" != "noavg" ]; then