From 75622c0e219337016e2918897cc31b7b77ee35e0 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 6 Nov 2023 22:21:18 -0600 Subject: [PATCH] Update powerwall.sh --- powerwall.sh | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/powerwall.sh b/powerwall.sh index 0bcf7b09..35fcb710 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -516,6 +516,18 @@ DAILYTEMP(){ done } +AVERAGEPOWER(){ + temptotal=0 + sensorid=${1} + daysback=${2} + logsfound=0; + while IFS=$'\t' read date temp hum ;do + temptotal=$(bc <<< "scale=2; ${temptotal}+${temp}") + ((logsfound++)) + done < <(${mysql_conn} -se "USE servermonitor; SELECT date,volt,amp,watt from power_data WHERE sensorid=${sensorid} AND date BETWEEN DATE_SUB(DATE(NOW()), INTERVAL ${daysback} DAY) AND NOW() ORDER BY id DESC;") + average=$(bc <<< "scale=2; ${temptotal}/${logsfound}") + echo ${average} +} CHECKPOWER(){ start=`date +%s` @@ -665,7 +677,9 @@ CHECKPOWER(){ HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //') # fi [[ "${HOST_WATTS}" = *"Timeout"* ]] && HOST_WATTS_disp="${idsCL[LightRed]}Host Offline" || HOST_WATTS_disp="${idsCL[Green]}${HOST_WATTS}'watts" - echo -e "${idsCL[LightCyan]}${SENSOR} ${idsCL[Default]}: ${HOST_WATTS_disp}${idsCL[Default]}" + average=$(AVERAGEPOWER ${PW_POWERSENSOR_ID[]${SENSOR}]} 1) + average_disp="${idsCL[LightCyan]} ${average}'watts" + echo -e "${idsCL[LightCyan]}${SENSOR} ${idsCL[Default]}: ${HOST_WATTS_disp}${average_disp}${idsCL[Default]}" fi fi done