diff --git a/inc/power.inc.sh b/inc/power.inc.sh index 8e35d193..dbd2d3c8 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -6,9 +6,11 @@ AVERAGEPOWER(){ total_amp=0 total_watt=0 while IFS=$'\t' read date amp watt ;do - total_amp=$(bc <<< "scale=2; ${total_amp}+${amp}") - total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}") - ((logsfound++)) + if [ "${amp}" != "" ] && [ "${watt}" != "" ]; 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;") if [ "${logsfound}" != "0" ]; then average_amp=$(bc <<< "scale=2; ${total_amp}/${logsfound}") @@ -22,8 +24,10 @@ AVERAGEPOWER(){ total=0 [ "${3}" != "" ] && ptype=${3} || ptype=watt while IFS=$'\t' read date ${ptype} ;do - total=$(bc <<< "scale=2; ${total}+${!ptype}") - ((logsfound++)) + if [ "${!ptype}" != "" ]; then + total=$(bc <<< "scale=2; ${total}+${!ptype}") + ((logsfound++)) + fi 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}