Update power.inc.sh
This commit is contained in:
@@ -1,6 +1,17 @@
|
||||
AVERAGEPOWER(){
|
||||
sensorid=${1}
|
||||
daysback=${2}
|
||||
|
||||
if [[ "${daysback^^}" = *"M"* ]]; then
|
||||
interval="${avgdays::-1} MINUTE"
|
||||
elif [[ "${daysback^^}" = *"H"* ]]; then
|
||||
interval="${avgdays::-1} HOUR"
|
||||
elif [[ "${daysback^^}" = *"D"* ]]; then
|
||||
interval="${avgdays::-1} DAY"
|
||||
elif [[ "${daysback}" =~ ^[0-9]+$ ]]; then
|
||||
interval="${avgdays} DAY"
|
||||
fi
|
||||
|
||||
if [ "${3}" = "both" ]; then
|
||||
logsfound_amp=0;
|
||||
logsfound_watt=0;
|
||||
@@ -15,7 +26,7 @@ AVERAGEPOWER(){
|
||||
total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}")
|
||||
((logsfound_watt++))
|
||||
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;")
|
||||
done < <(${mysql_conn} -se "USE servermonitor; SELECT date,amp,watt from power_data WHERE sensorid=${sensorid} AND date BETWEEN DATE_SUB(DATE(NOW()), INTERVAL ${interval}) AND NOW() ORDER BY id DESC;")
|
||||
if [ "${logsfound_watt}" != "0" ]; then
|
||||
average_amp=$(bc <<< "scale=2; ${total_amp}/${logsfound_amp}")
|
||||
average_watt=$(bc <<< "scale=2; ${total_watt}/${logsfound_watt}")
|
||||
@@ -33,7 +44,7 @@ AVERAGEPOWER(){
|
||||
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;")
|
||||
done < <(${mysql_conn} -se "USE servermonitor; SELECT date,${ptype} from power_data WHERE sensorid=${sensorid} AND date BETWEEN DATE_SUB(DATE(NOW()), INTERVAL ${interval}) AND NOW() ORDER BY id DESC;")
|
||||
[ "${logsfound}" != "0" ] && average=$(bc <<< "scale=2; ${total}/${logsfound}") || average=0
|
||||
echo ${average}
|
||||
fi
|
||||
@@ -60,13 +71,26 @@ CHECKPOWER(){
|
||||
esac
|
||||
shift 1
|
||||
done
|
||||
[ "${avgdays}" = "0" ] && unset avgdays
|
||||
[ "${avgdays}" != "" ] && avgdayshdr="${avgdays}-Day-Avg" || avgdayshdr=""
|
||||
if [ "${avgdays}" != "" ]; then
|
||||
if [ "${avgdays}" = "0" ]; then
|
||||
unset avgdays
|
||||
elif [[ "${avgdays^^}" = *"M"* ]]; then
|
||||
avgdays_disp="${avgdays::-1}Min"
|
||||
elif [[ "${avgdays^^}" = *"H"* ]]; then
|
||||
avgdays_disp="${avgdays::-1}Hr"
|
||||
elif [[ "${avgdays^^}" = *"D"* ]]; then
|
||||
avgdays_disp="${avgdays::-1}Day"
|
||||
elif [[ "${avgdays}" =~ ^[0-9]+$ ]]; then
|
||||
avgdays_disp="${avgdays}Day"
|
||||
fi
|
||||
else
|
||||
avgdays=noavg
|
||||
fi
|
||||
|
||||
if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "mainsite" ]) && [ "${PTYPE}" != "esxi" ]; then
|
||||
[ ${REPORT} -eq 0 ] && echo
|
||||
[ ${REPORT} -eq 0 ] && DIVIDER . yellow ${PRI_WIDTH}
|
||||
echo -e "${idsCL[Yellow]}Mainsite Power Information ${idsCL[LightYellow]}${avgdayshdr}"
|
||||
echo -e "${idsCL[Yellow]}Mainsite Power Information ${idsCL[LightYellow]}${avgdays_disp}AVG"
|
||||
DIVIDER . yellow ${PRI_WIDTH}
|
||||
|
||||
[ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'Powerwall' ... "
|
||||
|
||||
Reference in New Issue
Block a user