From 236192c3d3694a6b0cbe3e3370c17cb3466a1ff7 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 23 Oct 2023 08:24:36 -0500 Subject: [PATCH] Update powerwall.sh --- powerwall.sh | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/powerwall.sh b/powerwall.sh index 72810dae..0cc19636 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -91,7 +91,7 @@ CHECKTEMP(){ CHECKTEMPSENSOR(){ echo ${PW_TEMP_THRESHOLDS[${1}]} | cut -d',' -f 1 | read temp_warn echo ${PW_TEMP_THRESHOLDS[${1}]} | cut -d',' -f 2 | read temp_crit - # [ "${PW_SENSOR_TYPE[${1}]}" != "esxi" ] && average=$(AVERAGETEMP ${PW_SENSOR_ID[${1}]} 3) || average=$(AVERAGETEMP ${PW_SENSOR_ID[${1}]} 3 ${5}) + [ "${PW_SENSOR_TYPE[${1}]}" != "esxi" ] && average=$(AVERAGETEMP ${PW_SENSOR_ID[${1}]} 3) || average=$(AVERAGETEMP ${PW_SENSOR_ID[${1}]} 3 ${5}) if [ "${PW_SENSOR_TYPE[${1}]}" == "mqtt" ]; then mqtt_message=`${mqtt_conn} -t tele/${1}/SENSOR -C 1` @@ -118,18 +118,19 @@ CHECKTEMPSENSOR(){ temp_f=$(bc <<< "scale=1; ${temp_c}*1.8+32") #echo "$temp_c -> $temp_f" c=0; spct=''; spc1=`expr 6 - ${#temp_f}`; until [ $c = ${spc1} ]; do spct="${spct} "; c=`expr ${c} + 1`; done - # c=0; spca=''; spc1=`expr 6 - ${#average}`; until [ $c = ${spc1} ]; do spca="${spca} "; c=`expr ${c} + 1`; done - # - # if [ "${average}" == "" ]; then - # averagedisp="${idsCL[Green]}" - # elif [ $(bc -l <<< "${average} >= ${temp_warn}") -eq 1 ] && [ $(bc -l <<< "${average} < ${temp_crit}") -eq 1 ]; then - # averagedisp="${idsCL[Yellow]}${average}'F" - # elif [ $(bc -l <<< "${average} >= ${temp_crit}") -eq 1 ]; then - # averagedisp="${idsCL[Red]}${average}'F" - # else - # averagedisp="${idsCL[Green]}${average}'F" - # fi - averagedisp=' ' + + c=0; spca=''; spc1=`expr 6 - ${#average}`; until [ $c = ${spc1} ]; do spca="${spca} "; c=`expr ${c} + 1`; done + + if [ "${average}" == "" ]; then + averagedisp="${idsCL[Green]}" + elif [ $(bc -l <<< "${average} >= ${temp_warn}") -eq 1 ] && [ $(bc -l <<< "${average} < ${temp_crit}") -eq 1 ]; then + averagedisp="${idsCL[Yellow]}${average}'F" + elif [ $(bc -l <<< "${average} >= ${temp_crit}") -eq 1 ]; then + averagedisp="${idsCL[Red]}${average}'F" + else + averagedisp="${idsCL[Green]}${average}'F" + fi + # averagedisp=' ' if [ $(bc -l <<< "$temp_f >= $temp_warn") -eq 1 ] && [ $(bc -l <<< "$temp_f < $temp_crit") -eq 1 ]; then echo -en "${idsCL[Yellow]}WARNING (${spct}${temp_f}'F / ${spca}${averagedisp}${idsCL[Yellow]})${idsCL[Default]}"