From 479f83c0fe8fc295417d0c747d255bf4ccdb4444 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 13 Jan 2024 10:21:43 -0600 Subject: [PATCH] Update power.inc.sh --- inc/power.inc.sh | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/inc/power.inc.sh b/inc/power.inc.sh index 7100bd3f..6535d9ef 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -6,12 +6,10 @@ AVERAGEPOWER(){ total_amp=0 total_watt=0 while IFS=$'\t' read date amp watt ;do - if [[ "${amp}" =~ ^[0-9]+$ ]] && [[ "${watt}" =~ ^[0-9]+$ ]]; then - total_amp=$(bc <<< "scale=2; ${total_amp}+${amp}") - total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}") - ((logsfound++)) - fi - done < <(${mysql_conn} -se "USE servermonitor; SELECT date,amp,watt from power_data WHERE sensorid=${sensorid} AND date BETWEEN DATE_SUB(DATE(NOW()), INTERVAL ${daysback} DAY) AND NOW() ORDER BY id DESC;") + total_amp=$(bc <<< "scale=2; ${total_amp}+${amp}") + total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}") + ((logsfound++)) + done < <(${mysql_conn} -se "USE servermonitor; SELECT date,amp,watt from power_data WHERE sensorid=${sensorid} AND date BETWEEN DATE_SUB(DATE(NOW()), INTERVAL ${daysback} DAY) AND NOW() AND amp IS NOT NULL AND watt IS NOT NULL ORDER BY id DESC;") if [ "${logsfound}" != "0" ]; then average_amp=$(bc <<< "scale=2; ${total_amp}/${logsfound}") average_watt=$(bc <<< "scale=2; ${total_watt}/${logsfound}") @@ -24,10 +22,8 @@ AVERAGEPOWER(){ total=0 [ "${3}" != "" ] && ptype=${3} || ptype=watt while IFS=$'\t' read date ${ptype} ;do - if [[[ "${!ptype}" =~ ^[0-9]+$ ]]; then - total=$(bc <<< "scale=2; ${total}+${!ptype}") - ((logsfound++)) - fi + total=$(bc <<< "scale=2; ${total}+${!ptype}") + ((logsfound++)) done < <(${mysql_conn} -se "USE servermonitor; SELECT date,${ptype} from power_data WHERE sensorid=${sensorid} AND date BETWEEN DATE_SUB(DATE(NOW()), INTERVAL ${daysback} DAY) AND NOW() ORDER BY id DESC;") [ "${logsfound}" != "0" ] && average=$(bc <<< "scale=2; ${total}/${logsfound}") || average=0 echo ${average}