Update power.inc.sh

This commit is contained in:
2024-01-13 10:21:43 -06:00
parent 4548138d12
commit 479f83c0fe

View File

@@ -6,12 +6,10 @@ AVERAGEPOWER(){
total_amp=0 total_amp=0
total_watt=0 total_watt=0
while IFS=$'\t' read date amp watt ;do 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_amp=$(bc <<< "scale=2; ${total_amp}+${amp}") total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}")
total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}") ((logsfound++))
((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;")
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 if [ "${logsfound}" != "0" ]; then
average_amp=$(bc <<< "scale=2; ${total_amp}/${logsfound}") average_amp=$(bc <<< "scale=2; ${total_amp}/${logsfound}")
average_watt=$(bc <<< "scale=2; ${total_watt}/${logsfound}") average_watt=$(bc <<< "scale=2; ${total_watt}/${logsfound}")
@@ -24,10 +22,8 @@ AVERAGEPOWER(){
total=0 total=0
[ "${3}" != "" ] && ptype=${3} || ptype=watt [ "${3}" != "" ] && ptype=${3} || ptype=watt
while IFS=$'\t' read date ${ptype} ;do while IFS=$'\t' read date ${ptype} ;do
if [[[ "${!ptype}" =~ ^[0-9]+$ ]]; then total=$(bc <<< "scale=2; ${total}+${!ptype}")
total=$(bc <<< "scale=2; ${total}+${!ptype}") ((logsfound++))
((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;") 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 [ "${logsfound}" != "0" ] && average=$(bc <<< "scale=2; ${total}/${logsfound}") || average=0
echo ${average} echo ${average}