Update power.inc.sh
This commit is contained in:
@@ -1,6 +1,17 @@
|
|||||||
AVERAGEPOWER(){
|
AVERAGEPOWER(){
|
||||||
sensorid=${1}
|
sensorid=${1}
|
||||||
daysback=${2}
|
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
|
if [ "${3}" = "both" ]; then
|
||||||
logsfound_amp=0;
|
logsfound_amp=0;
|
||||||
logsfound_watt=0;
|
logsfound_watt=0;
|
||||||
@@ -15,7 +26,7 @@ AVERAGEPOWER(){
|
|||||||
total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}")
|
total_watt=$(bc <<< "scale=2; ${total_watt}+${watt}")
|
||||||
((logsfound_watt++))
|
((logsfound_watt++))
|
||||||
fi
|
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
|
if [ "${logsfound_watt}" != "0" ]; then
|
||||||
average_amp=$(bc <<< "scale=2; ${total_amp}/${logsfound_amp}")
|
average_amp=$(bc <<< "scale=2; ${total_amp}/${logsfound_amp}")
|
||||||
average_watt=$(bc <<< "scale=2; ${total_watt}/${logsfound_watt}")
|
average_watt=$(bc <<< "scale=2; ${total_watt}/${logsfound_watt}")
|
||||||
@@ -33,7 +44,7 @@ AVERAGEPOWER(){
|
|||||||
total=$(bc <<< "scale=2; ${total}+${!ptype}")
|
total=$(bc <<< "scale=2; ${total}+${!ptype}")
|
||||||
((logsfound++))
|
((logsfound++))
|
||||||
fi
|
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
|
[ "${logsfound}" != "0" ] && average=$(bc <<< "scale=2; ${total}/${logsfound}") || average=0
|
||||||
echo ${average}
|
echo ${average}
|
||||||
fi
|
fi
|
||||||
@@ -60,13 +71,26 @@ CHECKPOWER(){
|
|||||||
esac
|
esac
|
||||||
shift 1
|
shift 1
|
||||||
done
|
done
|
||||||
[ "${avgdays}" = "0" ] && unset avgdays
|
if [ "${avgdays}" != "" ]; then
|
||||||
[ "${avgdays}" != "" ] && avgdayshdr="${avgdays}-Day-Avg" || avgdayshdr=""
|
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
|
if ([ "${STYPE}" = "" ] || [ "${STYPE}" = "mainsite" ]) && [ "${PTYPE}" != "esxi" ]; then
|
||||||
[ ${REPORT} -eq 0 ] && echo
|
[ ${REPORT} -eq 0 ] && echo
|
||||||
[ ${REPORT} -eq 0 ] && DIVIDER . yellow ${PRI_WIDTH}
|
[ ${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}
|
DIVIDER . yellow ${PRI_WIDTH}
|
||||||
|
|
||||||
[ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'Powerwall' ... "
|
[ ${REPORT} -eq 0 ] && echo -en "${idsCL[Yellow]}Pulling data from 'Powerwall' ... "
|
||||||
|
|||||||
Reference in New Issue
Block a user