Update power.inc.sh
This commit is contained in:
214
inc/power.inc.sh
214
inc/power.inc.sh
@@ -113,13 +113,13 @@ CHECKPOWER(){
|
||||
INV_MODE=`echo ${INVSTATSINFO} | jq '.stats .power'`
|
||||
([ "${INV_MODE}" != "3" ] && [ "${INV_MODE}" != "4" ] && [ "${INV_MODE}" != "E" ]) && INV_MODE_disp="${idsCL[Green]}${PW_INVERTER_MODES[${INV_MODE}]}" || INV_MODE_disp="${idsCL[LightRed]}${PW_INVERTER_MODES[${INV_MODE}]}"
|
||||
OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'`
|
||||
OUTPUTV2=`echo "scale=2; ${OUTPUTV}/2" | bc`
|
||||
OUTPUTV2=`echo "scale=2; ${OUTPUTV}/2" | tr -d $'\r' | bc`
|
||||
OUTPUTA=`echo ${INVSTATSINFO} | jq '.outputs .outA'`
|
||||
OUTPUTA2=`echo "scale=2; ${OUTPUTA}*2" | bc`
|
||||
OUTPUTA2=`echo "scale=2; ${OUTPUTA}*2" | tr -d $'\r' | bc`
|
||||
OUTPUTW=`echo ${INVSTATSINFO} | jq '.outputs .outW'`
|
||||
([ ${TESTMODE} -eq 1 ] && [ "${TEST_BATTVOLT}" != "" ]) && BATTV=${TEST_BATTVOLT} || BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'`
|
||||
BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'`
|
||||
BATTLIFE=`echo "scale=2; (${BATTV}*100)/${BATT_FULL}" | bc`
|
||||
BATTLIFE=`echo "scale=2; (${BATTV}*100)/${BATT_FULL}" | tr -d $'\r' | bc`
|
||||
if (( $(bc <<<"${BATTV} >= ${FLOAT_CHARGE}") )) || ([ "${PW_INVERTER_MODES[${INV_MODE}]}" == "AC Input" ] && (( $(bc <<<"${BATTA} < -2") ))); then
|
||||
if (( $(bc <<<"${BATTV} >= ${BULK_CHARGE}") )) || ([ "${PW_INVERTER_MODES[${INV_MODE}]}" == "AC Input" ] && (( $(bc <<<"${BATTA} < -2") ))); then
|
||||
BATTA_disp="${idsCL[Green]}`IDS_NUMBER_FORMAT ${BATTA}`'A ${idsCL[LightCyan]}- Bulk Charging"
|
||||
@@ -134,42 +134,42 @@ CHECKPOWER(){
|
||||
fi
|
||||
# if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||
SVRRM_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.2.2.1.3.1.1 | sed 's/.*: //')
|
||||
SVRRM_VOLTIN=`echo "scale=2; ${SVRRM_VOLTIN}/10" | bc`
|
||||
SVRRM_VOLTIN=`echo "scale=2; ${SVRRM_VOLTIN}/10" | tr -d $'\r' | bc`
|
||||
SVRRM_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.2.1.1 | sed 's/.*: //')
|
||||
SVRRM_VOLTOUT=`echo "scale=2; ${SVRRM_VOLTOUT}/10" | bc`
|
||||
SVRRM_VOLTOUT=`echo "scale=2; ${SVRRM_VOLTOUT}/10" | tr -d $'\r' | bc`
|
||||
|
||||
SVRRM_WATT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.4.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.3.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | bc`
|
||||
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | tr -d $'\r' | bc`
|
||||
|
||||
AIRCON_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['ServerRoom-AC']}:8888/status/${PW_SENSOR_DEVICEID['ServerRoom-AC']} | jq '.dps')
|
||||
if [ "${AIRCON_INFO}" != "" ]; then
|
||||
AIRCON_AMP=$(echo "${AIRCON_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | bc -l) 2)
|
||||
AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | tr -d $'\r' | bc -l) 2)
|
||||
AIRCON_WATT=$(echo "${AIRCON_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | bc -l)
|
||||
AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | tr -d $'\r' | bc -l)
|
||||
else
|
||||
AIRCON_AMP=0
|
||||
AIRCON_WATT=0
|
||||
fi
|
||||
|
||||
SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AIRCON_AMP}" | bc -l)
|
||||
SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AIRCON_WATT}" | bc -l)
|
||||
SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AIRCON_AMP}" | tr -d $'\r' | bc -l)
|
||||
SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AIRCON_WATT}" | tr -d $'\r' | bc -l)
|
||||
# fi
|
||||
#
|
||||
# if [ "$(CHECK_HOST ${PW_APCPDU_IP})" != "false" ]; then
|
||||
APCPDU_AMP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1 | sed 's/.*: //')
|
||||
APCPDU_AMP=`echo "scale=2; ${APCPDU_AMP}/10" | bc`
|
||||
APCPDU_AMP=`echo "scale=2; ${APCPDU_AMP}/10" | tr -d $'\r' | bc`
|
||||
APCPDU_WATT2=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //')
|
||||
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLTOUT}" | bc`
|
||||
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLTOUT}" | tr -d $'\r' | bc`
|
||||
# fi
|
||||
if [ "${SVRRM_VOLTOUT}" != "" ]; then
|
||||
if [ "${APCPDU_AMP}" != "" ]; then
|
||||
NETRK_AMP=`echo "scale=2; ${SVRRM_AMP}-${APCPDU_AMP}" | bc`
|
||||
NETRK_WATT=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT}" | bc`
|
||||
NETRK_WATT2=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT2}" | bc`
|
||||
NETRK_AMP=`echo "scale=2; ${SVRRM_AMP}-${APCPDU_AMP}" | tr -d $'\r' | bc`
|
||||
NETRK_WATT=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT}" | tr -d $'\r' | bc`
|
||||
NETRK_WATT2=`echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT2}" | tr -d $'\r' | bc`
|
||||
fi
|
||||
VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLTIN}" | bc`
|
||||
VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLTIN}" | tr -d $'\r' | bc`
|
||||
fi
|
||||
|
||||
|
||||
@@ -313,11 +313,11 @@ CHECKPOWER(){
|
||||
# UPS_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.3.3.1.3.1 | sed 's/.*: //')
|
||||
# UPS_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //')
|
||||
# UPS_LOAD=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.2.2.1.11.3 | sed 's/.*: //')
|
||||
# UPS_LOAD=`echo "scale=2; ${UPS_LOAD}/10" | bc`
|
||||
# UPS_LOAD=`echo "scale=2; ${UPS_LOAD}/10" | tr -d $'\r' | bc`
|
||||
# UPS_AMPSIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.3.3.1.4.1 | sed 's/.*: //')\
|
||||
# UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | bc`
|
||||
# UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | tr -d $'\r' | bc`
|
||||
# UPS_AMPSOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //')\
|
||||
# UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | bc`
|
||||
# UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | tr -d $'\r' | bc`
|
||||
# UPS_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.2.2.1.8.3 | sed 's/.*: //')
|
||||
# UPS_BATT_RUNTIME=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.18.0 | sed 's/.*: //')
|
||||
# UPS_BATT_VOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.10.0 | sed 's/.*: //')
|
||||
@@ -329,14 +329,14 @@ CHECKPOWER(){
|
||||
UPS_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //')
|
||||
UPS_LOAD=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.5.1 | sed 's/.*: //')
|
||||
UPS_AMPSIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.3.3.1.4.1 | sed 's/.*: //')\
|
||||
#UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | bc`
|
||||
#UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | tr -d $'\r' | bc`
|
||||
UPS_AMPSOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //')\
|
||||
UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | bc`
|
||||
UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | tr -d $'\r' | bc`
|
||||
# UPS_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.4.4.1.4.1 | sed 's/.*: //')
|
||||
UPS_WATTS=`echo "scale=2; ${UPS_VOLTOUT}*${UPS_AMPSOUT}" | bc`
|
||||
UPS_WATTS=`echo "scale=2; ${UPS_VOLTOUT}*${UPS_AMPSOUT}" | tr -d $'\r' | bc`
|
||||
UPS_BATT_RUNTIME=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.2.3.0 | sed 's/.*: //')
|
||||
UPS_BATT_VOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.2.5.0 | sed 's/.*: //')
|
||||
UPS_BATT_VOLT=`echo "scale=2; ${UPS_BATT_VOLT}/10" | bc`
|
||||
UPS_BATT_VOLT=`echo "scale=2; ${UPS_BATT_VOLT}/10" | tr -d $'\r' | bc`
|
||||
UPS_BATT_CAP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.2.4.0 | sed 's/.*: //')
|
||||
|
||||
[ "${PW_UPS_STATES[${UPS_STATUS}]}" != "" ] && UPS_DISP_STATUS=${PW_UPS_STATES[${UPS_STATUS}]} || UPS_DISP_STATUS=${UPS_STATUS}
|
||||
@@ -405,8 +405,8 @@ CHECKPOWER(){
|
||||
fi
|
||||
for mSENSOR in "${!UPS_MISC[@]}"; do
|
||||
IFS=: read -r AMP WATT VOLT <<< ${UPS_MISC[${mSENSOR}]}; unset IFS
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+${WATT}" | bc`
|
||||
TOTAL_MISC_AMPS=`echo "scale=2; ${TOTAL_MISC_AMPS}+${AMP}" | bc`
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+${WATT}" | tr -d $'\r' | bc`
|
||||
TOTAL_MISC_AMPS=`echo "scale=2; ${TOTAL_MISC_AMPS}+${AMP}" | tr -d $'\r' | bc`
|
||||
AD1="${PW_MISCSENSOR_DESC[${mSENSOR}]}"; c=0; spc1=''; spca=`expr 25 - ${#AD1}`; until [ ${c} = ${spca} ]; do spc1="${spc1} "; ((c++)); done
|
||||
AD2=$(IDS_NUMBER_FORMAT ${AMP} 2 yes); c=0; spc2=''; spca=`expr ${wspc} - ${#AD2}`; until [ ${c} = ${spca} ]; do spc2="${spc2} "; ((c++)); done
|
||||
AD3=$(IDS_NUMBER_FORMAT ${WATT} 1 yes)
|
||||
@@ -472,11 +472,11 @@ CHECKPOWER(){
|
||||
OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')
|
||||
OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //')
|
||||
OFFSITE_LOAD=$(echo "${upsinfo}" | grep 'ups.load:' | sed 's/.*: //')
|
||||
OFFSITE_WATTS=`echo "scale=2; $(echo "scale=2; ${OFFSITE_LOAD}/100" | bc)*$(echo "${upsinfo}" | grep 'ups.realpower.nominal:' | sed 's/.*: //')" | bc`
|
||||
OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc`
|
||||
OFFSITE_WATTS=`echo "scale=2; $(echo "scale=2; ${OFFSITE_LOAD}/100" | tr -d $'\r' | bc)*$(echo "${upsinfo}" | grep 'ups.realpower.nominal:' | sed 's/.*: //')" | tr -d $'\r' | bc`
|
||||
OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | tr -d $'\r' | bc`
|
||||
(( $(bc <<<"${OFFSITE_AMPS} < 1") )) && [[ "${OFFSITE_AMPS}" = *"."* ]] && OFFSITE_AMPS="0${OFFSITE_AMPS}"
|
||||
OFFSITE_BATT_RUNTIME=$(echo "${upsinfo}" | grep 'battery.runtime:' | sed 's/.*: //')
|
||||
OFFSITE_BATT_RUNTIME=`echo "scale=2; ${OFFSITE_BATT_RUNTIME}/60" | bc`
|
||||
OFFSITE_BATT_RUNTIME=`echo "scale=2; ${OFFSITE_BATT_RUNTIME}/60" | tr -d $'\r' | bc`
|
||||
OFFSITE_BATT_VOLT=$(echo "${upsinfo}" | grep 'battery.voltage:' | sed 's/.*: //')
|
||||
OFFSITE_BATT_CAP=$(echo "${upsinfo}" | grep 'battery.charge:' | sed 's/.*: //')
|
||||
|
||||
@@ -511,8 +511,8 @@ CHECKPOWER(){
|
||||
fi
|
||||
for mSENSOR in "${!OFFSITE_MISC[@]}"; do
|
||||
IFS=: read -r AMP WATT VOLT <<< ${OFFSITE_MISC[${mSENSOR}]}; unset IFS
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+${WATT}" | bc`
|
||||
TOTAL_MISC_AMPS=`echo "scale=2; ${TOTAL_MISC_AMPS}+${AMP}" | bc`
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+${WATT}" | tr -d $'\r' | bc`
|
||||
TOTAL_MISC_AMPS=`echo "scale=2; ${TOTAL_MISC_AMPS}+${AMP}" | tr -d $'\r' | bc`
|
||||
AD1="${PW_MISCSENSOR_DESC[${mSENSOR}]}"; c=0; spc1=''; spca=`expr 25 - ${#AD1}`; until [ ${c} = ${spca} ]; do spc1="${spc1} "; ((c++)); done
|
||||
AD2=$(IDS_NUMBER_FORMAT ${AMP} 2 yes); c=0; spc2=''; spca=`expr ${wspc} - ${#AD2}`; until [ ${c} = ${spca} ]; do spc2="${spc2} "; ((c++)); done
|
||||
AD3=$(IDS_NUMBER_FORMAT ${WATT} 1 yes)
|
||||
@@ -583,9 +583,9 @@ CHECKPOWER(){
|
||||
KYLE_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['KP-Power']}:8888/status/${PW_SENSOR_DEVICEID['KP-Power']} | jq '.dps')
|
||||
if [ "${KYLE_INFO}" != "" ]; then
|
||||
KYLE_AMP=$(echo "${KYLE_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | bc -l) 2)
|
||||
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | tr -d $'\r' | bc -l) 2)
|
||||
KYLE_WATT=$(echo "${KYLE_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | bc -l)
|
||||
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | tr -d $'\r' | bc -l)
|
||||
else
|
||||
KYLE_AMP=0
|
||||
KYLE_WATT=0
|
||||
@@ -671,9 +671,9 @@ CHECKPOWER(){
|
||||
PS2V=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.12.1.16.1.2 | sed 's/.*: //')
|
||||
|
||||
if [ ${found} -eq 1 ] && [ "${HOST_WATTS}" != "0" ] && [ "${HOST_WATTS}" != "" ]; then
|
||||
[ "${PS1}" != "0.0" ] && PS1=`echo "scale=1; ${PS1}/10" | bc` && (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||
[ "${PS2}" != "0.0" ] && PS2=`echo "scale=1; ${PS2}/10" | bc` && (( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||
HOST_AMPS=`echo "scale=1; ${PS1}+${PS2}" | bc`
|
||||
[ "${PS1}" != "0.0" ] && PS1=`echo "scale=1; ${PS1}/10" | tr -d $'\r' | bc` && (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||
[ "${PS2}" != "0.0" ] && PS2=`echo "scale=1; ${PS2}/10" | tr -d $'\r' | bc` && (( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||
HOST_AMPS=`echo "scale=1; ${PS1}+${PS2}" | tr -d $'\r' | bc`
|
||||
AD=$(IDS_NUMBER_FORMAT ${HOST_AMPS} 1 true); c=0; spc=''; spc1=`expr ${wspc} - ${#AD}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done
|
||||
HOST_WATTS_disp="${idsCL[Green]}${AD}'A${spc}`IDS_NUMBER_FORMAT ${HOST_WATTS} 0`'W"
|
||||
|
||||
@@ -710,17 +710,17 @@ CHECKPOWER(){
|
||||
echo -e "${MSG}${idsCL[LightYellow]}${average_disp}${idsCL[Default]}"
|
||||
|
||||
if [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]; then
|
||||
AVERAGE_WATTS_MAINSITE=`echo "scale=2; ${AVERAGE_WATTS_MAINSITE}+${average_watt}" | bc`
|
||||
AVERAGE_AMPS_MAINSITE=`echo "scale=2; ${AVERAGE_AMPS_MAINSITE}+${average_amp}" | bc`
|
||||
AVERAGE_WATTS_MAINSITE=`echo "scale=2; ${AVERAGE_WATTS_MAINSITE}+${average_watt}" | tr -d $'\r' | bc`
|
||||
AVERAGE_AMPS_MAINSITE=`echo "scale=2; ${AVERAGE_AMPS_MAINSITE}+${average_amp}" | tr -d $'\r' | bc`
|
||||
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]; then
|
||||
AVERAGE_WATTS_OFFSITE=`echo "scale=2; ${AVERAGE_WATTS_OFFSITE}+${average_watt}" | bc`
|
||||
AVERAGE_AMPS_OFFSITE=`echo "scale=2; ${AVERAGE_AMPS_OFFSITE}+${average_amp}" | bc`
|
||||
AVERAGE_WATTS_OFFSITE=`echo "scale=2; ${AVERAGE_WATTS_OFFSITE}+${average_watt}" | tr -d $'\r' | bc`
|
||||
AVERAGE_AMPS_OFFSITE=`echo "scale=2; ${AVERAGE_AMPS_OFFSITE}+${average_amp}" | tr -d $'\r' | bc`
|
||||
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.6."* ]]; then
|
||||
AVERAGE_WATTS_KYLE=`echo "scale=2; ${AVERAGE_WATTS_KYLE}+${average_watt}" | bc`
|
||||
AVERAGE_AMPS_KYLE=`echo "scale=2; ${AVERAGE_AMPS_KYLE}+${average_amp}" | bc`
|
||||
AVERAGE_WATTS_KYLE=`echo "scale=2; ${AVERAGE_WATTS_KYLE}+${average_watt}" | tr -d $'\r' | bc`
|
||||
AVERAGE_AMPS_KYLE=`echo "scale=2; ${AVERAGE_AMPS_KYLE}+${average_amp}" | tr -d $'\r' | bc`
|
||||
fi
|
||||
AVERAGE_TOTAL_WATTS=`echo "scale=2; ${AVERAGE_TOTAL_WATTS}+${average_watt}" | bc`
|
||||
AVERAGE_TOTAL_AMPS=`echo "scale=2; ${AVERAGE_TOTAL_AMPS}+${average_amp}" | bc`
|
||||
AVERAGE_TOTAL_WATTS=`echo "scale=2; ${AVERAGE_TOTAL_WATTS}+${average_watt}" | tr -d $'\r' | bc`
|
||||
AVERAGE_TOTAL_AMPS=`echo "scale=2; ${AVERAGE_TOTAL_AMPS}+${average_amp}" | tr -d $'\r' | bc`
|
||||
|
||||
else
|
||||
echo -e "${idsCL[Default]}"
|
||||
@@ -737,17 +737,17 @@ CHECKPOWER(){
|
||||
if [[ "${IP}" != "10.6.1"* ]]; then
|
||||
if [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.10."* ]]; then
|
||||
SENSOR_TOTAL_WATTS_MAINSITE=$(expr ${SENSOR_TOTAL_WATTS_MAINSITE} + ${HOST_WATTS})
|
||||
SENSOR_TOTAL_AMPS_MAINSITE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_MAINSITE}+${HOST_AMPS}" | bc)
|
||||
SENSOR_TOTAL_AMPS_MAINSITE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_MAINSITE}+${HOST_AMPS}" | tr -d $'\r' | bc)
|
||||
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.2.1."* ]]; then
|
||||
SENSOR_TOTAL_WATTS_OFFSITE=$(expr ${SENSOR_TOTAL_WATTS_OFFSITE} + ${HOST_WATTS})
|
||||
SENSOR_TOTAL_AMPS_OFFSITE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_OFFSITE}+${HOST_AMPS}" | bc)
|
||||
SENSOR_TOTAL_AMPS_OFFSITE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_OFFSITE}+${HOST_AMPS}" | tr -d $'\r' | bc)
|
||||
elif [[ "${PW_HOST_IDRACS[${SENSOR}]}" = *"10.6."* ]]; then
|
||||
SENSOR_TOTAL_WATTS_KYLE=$(expr ${SENSOR_TOTAL_WATTS_KYLE} + ${HOST_WATTS})
|
||||
SENSOR_TOTAL_AMPS_KYLE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_KYLE}+${HOST_AMPS}" | bc)
|
||||
SENSOR_TOTAL_AMPS_KYLE=$(echo "scale=1; ${SENSOR_TOTAL_AMPS_KYLE}+${HOST_AMPS}" | tr -d $'\r' | bc)
|
||||
fi
|
||||
fi
|
||||
SENSOR_TOTAL_WATTS=$(expr ${SENSOR_TOTAL_WATTS} + ${HOST_WATTS})
|
||||
SENSOR_TOTAL_AMPS=$(echo "scale=1; ${SENSOR_TOTAL_AMPS}+${HOST_AMPS}" | bc)
|
||||
SENSOR_TOTAL_AMPS=$(echo "scale=1; ${SENSOR_TOTAL_AMPS}+${HOST_AMPS}" | tr -d $'\r' | bc)
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
@@ -841,12 +841,12 @@ CHECKPOWER_SERVICE(){
|
||||
([ ${TESTMODE} -eq 1 ] && [ "${TEST_INPUTACV}" != "" ]) && INPUTACV=${TEST_INPUTACV} || INPUTACV=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.3.3.1.3.1 | sed 's/.*: //')
|
||||
([ ${TESTMODE} -eq 1 ] && [ "${TEST_BATTVOLT}" != "" ]) && BATTVOLT=${TEST_BATTVOLT} || BATTVOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.2.5.0 | sed 's/.*: //')
|
||||
|
||||
BATTLIFE=`echo "scale=2; (${BATTVOLT}*100)/${BATT_FULL}" | bc`
|
||||
BATTLIFE=`echo "scale=2; (${BATTVOLT}*100)/${BATT_FULL}" | tr -d $'\r' | bc`
|
||||
else
|
||||
([ ${TESTMODE} -eq 1 ] && [ "${TEST_INPUTACV}" != "" ]) && INPUTACV=${TEST_INPUTACV} || INPUTACV=$(echo ${INVSTATSINFO} | jq '.inputs .inV')
|
||||
([ ${TESTMODE} -eq 1 ] && [ "${TEST_BATTVOLT}" != "" ]) && BATTVOLT=${TEST_BATTVOLT} || BATTVOLT=$(echo ${INVSTATSINFO} | jq '.inputs .battV')
|
||||
BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'`
|
||||
BATTLIFE=`echo "scale=2; (${BATTVOLT}*100)/${BATT_FULL}" | bc`
|
||||
BATTLIFE=`echo "scale=2; (${BATTVOLT}*100)/${BATT_FULL}" | tr -d $'\r' | bc`
|
||||
fi
|
||||
PW_DISCHARGE=0
|
||||
|
||||
@@ -872,7 +872,7 @@ CHECKPOWER_SERVICE(){
|
||||
GRID VOLTAGE: ${INPUTACV}'V
|
||||
BATT VOLTAGE: `IDS_NUMBER_FORMAT ${BATTVOLT}`'V ~ (`IDS_NUMBER_FORMAT ${BATTLIFE}`'% @ ${BATT_FULL}'V)"
|
||||
else
|
||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V - Normal Voltage" >> ${PW_LOGPOWER}
|
||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | tr -d $'\r' | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V - Normal Voltage" >> ${PW_LOGPOWER}
|
||||
if [ -f ${PW_TMPFOLDER}/power.ac.start ]; then
|
||||
SENDNOTICE "POWER Startup - Nominal" "Service Startup
|
||||
Normal voltage detected
|
||||
@@ -893,7 +893,7 @@ BATT VOLTAGE: `IDS_NUMBER_FORMAT ${BATTVOLT}`'V ~ (`IDS_NUMBER_FORMAT ${BATTLIFE
|
||||
rm -f ${PW_TMPFOLDER}/power.ac.*
|
||||
touch ${PW_TMPFOLDER}/power.ac.good
|
||||
|
||||
elif [ -f ${PW_TMPFOLDER}/.power.restored ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.power.restored)) -ge $(echo "scale=0; ${PW_WAIT_TO_POWER_SERVERS}*60" | bc) ]; then
|
||||
elif [ -f ${PW_TMPFOLDER}/.power.restored ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/.power.restored)) -ge $(echo "scale=0; ${PW_WAIT_TO_POWER_SERVERS}*60" | tr -d $'\r' | bc) ]; then
|
||||
HOSTMGMT mainsite -p on >/dev/null 2>&1 &
|
||||
rm -f ${PW_TMPFOLDER}/.power.restored
|
||||
fi
|
||||
@@ -926,7 +926,7 @@ BATT VOLTAGE: `IDS_NUMBER_FORMAT ${BATTVOLT}`'V ~ (`IDS_NUMBER_FORMAT ${BATTLIFE
|
||||
touch ${PW_TMPFOLDER}/power.ac.low
|
||||
|
||||
fi
|
||||
if [ "${PW_CONSERVE_HOSTS}" != "" ] && [ ! -f ${PW_TMPFOLDER}/power.ac.conserve ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge $(echo "scale=0; ${PW_CONSERVE_AFTER}*60/1" | bc) ]; then
|
||||
if [ "${PW_CONSERVE_HOSTS}" != "" ] && [ ! -f ${PW_TMPFOLDER}/power.ac.conserve ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge $(echo "scale=0; ${PW_CONSERVE_AFTER}*60/1" | tr -d $'\r' | bc) ]; then
|
||||
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'V / ${BATTVOLT}'V - Shutting down iSCSI VM's and Host to conserve power" >> ${PW_LOGPOWER}
|
||||
SENDNOTICE "POWER ALERT - Conserving Power" "Shutting down iSCSI VM's and Host to conserve power" 1
|
||||
# SHUTDOWN_SERVER ${PW_MAIN_ISCSI} -esxi off &
|
||||
@@ -936,7 +936,7 @@ BATT VOLTAGE: `IDS_NUMBER_FORMAT ${BATTVOLT}`'V ~ (`IDS_NUMBER_FORMAT ${BATTLIFE
|
||||
fi
|
||||
|
||||
if (( $(bc <<<"${BATTVOLT} >= ${min_battvolt}") )); then
|
||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Battery Voltage" >> ${PW_LOGPOWER}
|
||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | tr -d $'\r' | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Battery Voltage" >> ${PW_LOGPOWER}
|
||||
if [ -f ${PW_TMPFOLDER}/power.dc.start ]; then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - Battery: ${BATTVOLT}'V - Service Startup - Normal voltage detected" >> ${PW_LOGPOWER}
|
||||
rm -f ${PW_TMPFOLDER}/power.dc.start
|
||||
@@ -948,7 +948,7 @@ BATT VOLTAGE: `IDS_NUMBER_FORMAT ${BATTVOLT}`'V ~ (`IDS_NUMBER_FORMAT ${BATTLIFE
|
||||
|
||||
else
|
||||
[ -f ${PW_TMPFOLDER}/power.dc.good ] && rm -f ${PW_TMPFOLDER}/power.dc.good
|
||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_ABNORMAL}*60" | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
|
||||
[ $(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER})) -ge $(echo "scale=0; ${PW_LOG_INTERVAL_ABNORMAL}*60" | tr -d $'\r' | bc) ] && echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - LOW BATTERY Voltage" >> ${PW_LOGPOWER}
|
||||
|
||||
if (( $(bc <<<"${BATTVOLT} <= ${min_battvolt_sys}") )); then
|
||||
[ ! -f ${PW_TMPFOLDER}/power.dc.critlow ] && touch ${PW_TMPFOLDER}/power.dc.critlow
|
||||
@@ -975,7 +975,7 @@ Shutting down main servers" 1
|
||||
|
||||
fi
|
||||
|
||||
elif [ ! -f ${PW_TMPFOLDER}/shutdown.MAIN.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.MAINSITE.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.ALL.started ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge $(echo "scale=0; ${PW_SHUTDOWN_MAINSERVERS_AFTER}*60" | bc) ]; then
|
||||
elif [ ! -f ${PW_TMPFOLDER}/shutdown.MAIN.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.MAINSITE.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.ALL.started ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge $(echo "scale=0; ${PW_SHUTDOWN_MAINSERVERS_AFTER}*60" | tr -d $'\r' | bc) ]; then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Shutting down main servers..." >> ${PW_LOGFILE}
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Shutting down main servers..." >> ${PW_LOGPOWER}
|
||||
SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "Battery Voltage LOW: ${BATTVOLT}'V
|
||||
@@ -985,8 +985,8 @@ Shutting down main servers" 1
|
||||
|
||||
fi
|
||||
if [ -f ${PW_TMPFOLDER}/power.ac.low ] || [ -f ${PW_TMPFOLDER}/power.dc.low ]; then
|
||||
volt_diff=`echo "scale=1; ${last_battvolt}-${BATTVOLT}" | bc`
|
||||
(( $(bc <<<"${volt_diff} < 0") )) && volt_diff=`echo "scale=2; ${volt_diff} * -1" | bc`
|
||||
volt_diff=`echo "scale=1; ${last_battvolt}-${BATTVOLT}" | tr -d $'\r' | bc`
|
||||
(( $(bc <<<"${volt_diff} < 0") )) && volt_diff=`echo "scale=2; ${volt_diff} * -1" | tr -d $'\r' | bc`
|
||||
if (( $(bc <<<"${volt_diff} >= 0.5") )); then
|
||||
SENDNOTICE "BATTERY VOLTAGE CHANGE" "Battery Voltage: ${BATTVOLT}'V"
|
||||
echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'V - Battery Voltage Change" >> ${PW_LOGPOWER}
|
||||
@@ -1032,16 +1032,16 @@ OFFSITE_CHECKPOWER_SERVICE(){
|
||||
rm -f ${PW_TMPFOLDER}/power.offsite.ups.losscomm
|
||||
OFFSITE_VOLTIN=$(echo "${upsinfo}" | grep 'input.voltage:' | sed 's/.*: //')
|
||||
OFFSITE_LOAD=$(echo "${upsinfo}" | grep 'ups.load:' | sed 's/.*: //')
|
||||
OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | bc`
|
||||
OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*$(echo "${upsinfo}" | grep 'ups.realpower.nominal:' | sed 's/.*: //')" | bc`
|
||||
OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | tr -d $'\r' | bc`
|
||||
OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*$(echo "${upsinfo}" | grep 'ups.realpower.nominal:' | sed 's/.*: //')" | tr -d $'\r' | bc`
|
||||
OFFSITE_BATT_RUNTIME=$(echo "${upsinfo}" | grep 'battery.runtime:' | sed 's/.*: //')
|
||||
OFFSITE_BATT_RUNTIME=`echo "scale=2; ${OFFSITE_BATT_RUNTIME}/60" | bc`
|
||||
OFFSITE_BATT_RUNTIME=`echo "scale=2; ${OFFSITE_BATT_RUNTIME}/60" | tr -d $'\r' | bc`
|
||||
OFFSITE_BATT_CAP=$(echo "${upsinfo}" | grep 'battery.charge:' | sed 's/.*: //')
|
||||
|
||||
if (( $(bc <<<"${OFFSITE_WATTS} < 100") )); then
|
||||
TOTAL_MISC_WATTS=0
|
||||
for mSENSOR in "${PW_POWERSENSOR_MISC[@]}"; do
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+$(GET_TUYA_POWER ${mSENSOR})" | bc`
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+$(GET_TUYA_POWER ${mSENSOR})" | tr -d $'\r' | bc`
|
||||
done
|
||||
(( $(bc <<<"${OFFSITE_WATTS} < ${TOTAL_MISC_WATTS}") )) && OFFSITE_WATTS=${TOTAL_MISC_WATTS}
|
||||
fi
|
||||
@@ -1113,7 +1113,7 @@ AMBIENT TEMP: ${OFFSITE_TEMP}'F"
|
||||
rm -f ${PW_TMPFOLDER}/power.offsite.ac.*
|
||||
fi
|
||||
if [ -f ${PW_TMPFOLDER}/shutdown.OFFSITE ]; then
|
||||
if [ -f ${PW_TMPFOLDER}/power.offsite.restored ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.restored)) -gt $(echo "scale=2; ${PW_OFFSITE_WAIT_TO_POWER_SERVERS}*60" | bc) ]; then
|
||||
if [ -f ${PW_TMPFOLDER}/power.offsite.restored ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.restored)) -gt $(echo "scale=2; ${PW_OFFSITE_WAIT_TO_POWER_SERVERS}*60" | tr -d $'\r' | bc) ]; then
|
||||
if [ "$(CHECK_HOST ${PW_IP})" != "false" ]; then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - ${OFFSITE_BATT_CAP}'% Battery - Powering Hosts ON After Power Outage" >> ${PW_LOGFILE}
|
||||
if [ -f ${PW_TMPFOLDER}/power.offsite.nohomeconn ]; then
|
||||
@@ -1134,7 +1134,7 @@ AMBIENT TEMP: ${OFFSITE_TEMP}'F"
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - ${OFFSITE_BATT_CAP}'% Battery - Will wait to power on offsite host(s) until powerwall connection is regained" >> ${PW_LOGFILE}
|
||||
touch ${PW_TMPFOLDER}/power.offsite.nohomeconn
|
||||
SENDNOTICE2 "OFFSITE HOST POWER" "Will wait to power on offsite host(s) until powerwall connection is regained"
|
||||
elif [ -f ${PW_TMPFOLDER}/power.offsite.nohomeconn ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.nohomeconn)) -gt $(echo "scale=2; ${PW_OFFSITE_WAIT_TO_POWER_SERVERS}*60" | bc) ]; then
|
||||
elif [ -f ${PW_TMPFOLDER}/power.offsite.nohomeconn ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.nohomeconn)) -gt $(echo "scale=2; ${PW_OFFSITE_WAIT_TO_POWER_SERVERS}*60" | tr -d $'\r' | bc) ]; then
|
||||
touch ${PW_TMPFOLDER}/power.offsite.nohomeconn
|
||||
SENDNOTICE2 "OFFSITE HOST POWER" "Still waiting for connection to powerwall before powering offsite host(s) back on"
|
||||
fi
|
||||
@@ -1142,19 +1142,19 @@ AMBIENT TEMP: ${OFFSITE_TEMP}'F"
|
||||
fi
|
||||
fi
|
||||
logtime=$(expr `date +%s` - $(stat -c %Y ${PW_LOGPOWER}))
|
||||
if [ ${logtime} -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | bc) ] || ([ ${OFFSITE_BATT_CAP%.*} -lt 100 ] && [ ${logtime} -gt ${PW_LOG_INTERVAL_CHARGING} ]); then
|
||||
if [ ${logtime} -ge $(echo "scale=0; ${PW_LOG_INTERVAL_NORMAL}*60" | tr -d $'\r' | bc) ] || ([ ${OFFSITE_BATT_CAP%.*} -lt 100 ] && [ ${logtime} -gt ${PW_LOG_INTERVAL_CHARGING} ]); then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - ${OFFSITE_WATTS}'W - ${OFFSITE_BATT_CAP}'% Battery - ${OFFSITE_BATT_RUNTIME}'mins - Normal" >> ${PW_LOGPOWER}
|
||||
fi
|
||||
else
|
||||
[ ! -f ${PW_TMPFOLDER}/power.offsite.ac.low ] && touch ${PW_TMPFOLDER}/power.offsite.ac.low
|
||||
|
||||
if [ ! -f ${PW_TMPFOLDER}/power.offsite.ac.low.notice ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.ac.low.notice)) -gt $(echo "scale=2; ${PW_RENOTIFY_LOWPOWER}*60" | bc) ]; then
|
||||
if [ ! -f ${PW_TMPFOLDER}/power.offsite.ac.low.notice ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.ac.low.notice)) -gt $(echo "scale=2; ${PW_RENOTIFY_LOWPOWER}*60" | tr -d $'\r' | bc) ]; then
|
||||
# echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - ${OFFSITE_BATT_CAP}'% Battery - Powering LOW/OFF!" >> ${PW_LOGFILE}
|
||||
SENDNOTICE2 "OFFSITE POWER - POWER OFF/LOW!!" "Power off or low voltage detected" 1
|
||||
touch ${PW_TMPFOLDER}/power.offsite.ac.low.notice
|
||||
fi
|
||||
|
||||
if [ ! -f ${PW_TMPFOLDER}/shutdown.OFFSITE ] && [ ${OFFSITE_WATTS%.*} -gt 100 ] && ([ ${OFFSITE_BATT_CAP%.*} -le ${PW_OFFSITE_SHUTDOWNSERVERS_AT_BATTCAP} ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.ac.low)) -ge $(echo "scale=2; ${PW_OFFSITE_SHUTDOWNSERVERS_AFTER}*60" | bc) ]); then
|
||||
if [ ! -f ${PW_TMPFOLDER}/shutdown.OFFSITE ] && [ ${OFFSITE_WATTS%.*} -gt 100 ] && ([ ${OFFSITE_BATT_CAP%.*} -le ${PW_OFFSITE_SHUTDOWNSERVERS_AT_BATTCAP} ] || [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.offsite.ac.low)) -ge $(echo "scale=2; ${PW_OFFSITE_SHUTDOWNSERVERS_AFTER}*60" | tr -d $'\r' | bc) ]); then
|
||||
echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${OFFSITE_VOLTIN}'V - ${OFFSITE_BATT_CAP}'% Battery - Powering Down Hosts!" >> ${PW_LOGFILE}
|
||||
SENDNOTICE2 "OFFSITE HOST POWER" "Powering DOWN offsite host(s) due to power outage" 1
|
||||
touch ${PW_TMPFOLDER}/shutdown.OFFSITE
|
||||
@@ -1228,10 +1228,10 @@ POWERLOGGER_SERVICE(){
|
||||
|
||||
if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||
SVRRM_VOLT=$(snmpwalk -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.2.1.1 | sed 's/.*: //')
|
||||
SVRRM_VOLT=`echo "scale=1; ${SVRRM_VOLT}/10" | bc`
|
||||
SVRRM_VOLT=`echo "scale=1; ${SVRRM_VOLT}/10" | tr -d $'\r' | bc`
|
||||
SVRRM_WATT=$(snmpwalk -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.4.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=$(snmpwalk -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.3.2.1.3.1.1 | sed 's/.*: //')
|
||||
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | bc`
|
||||
SVRRM_AMP=`echo "scale=2; ${SVRRM_AMP}/100" | tr -d $'\r' | bc`
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID['total']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${SVRRM_VOLT}','${SVRRM_AMP}','${SVRRM_WATT}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
${mysql_conn} -e "USE servermonitor; UPDATE latest_sensor_data SET date = CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'), watt = '${SVRRM_WATT}' WHERE sensorid='${PW_POWERSENSOR_ID['total']}'"
|
||||
@@ -1239,9 +1239,9 @@ POWERLOGGER_SERVICE(){
|
||||
|
||||
if [ "$(CHECK_HOST ${PW_APCPDU_IP})" != "false" ]; then
|
||||
APCPDU_AMP=$(snmpwalk -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.2.3.1.1.2.1 | sed 's/.*: //')
|
||||
APCPDU_AMP=`echo "scale=1; ${APCPDU_AMP}/10" | bc`
|
||||
APCPDU_AMP=`echo "scale=1; ${APCPDU_AMP}/10" | tr -d $'\r' | bc`
|
||||
if [ "${SVRRM_VOLT}" != "" ]; then
|
||||
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc`
|
||||
APCPDU_WATT=`echo "scale=2; ${APCPDU_AMP}*${SVRRM_VOLT}" | tr -d $'\r' | bc`
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID['server-rack']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${SVRRM_VOLT}','${APCPDU_AMP}','${APCPDU_WATT}')"
|
||||
${mysql_conn} -e "USE servermonitor; UPDATE latest_sensor_data SET date = CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'), watt = '${APCPDU_WATT}' WHERE sensorid='${PW_POWERSENSOR_ID['server-rack']}'"
|
||||
else
|
||||
@@ -1251,8 +1251,8 @@ POWERLOGGER_SERVICE(){
|
||||
fi
|
||||
|
||||
if [ "${SVRRM_VOLT}" != "" ] && [ "${APCPDU_AMP}" != "" ]; then
|
||||
NETRK_AMP=`echo "scale=2; ${SVRRM_AMP}-${APCPDU_AMP}" | bc`
|
||||
NETRK_WATT=$(ROUND_NUMBER `echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT}" | bc` 0)
|
||||
NETRK_AMP=`echo "scale=2; ${SVRRM_AMP}-${APCPDU_AMP}" | tr -d $'\r' | bc`
|
||||
NETRK_WATT=$(ROUND_NUMBER `echo "scale=2; ${SVRRM_WATT}-${APCPDU_WATT}" | tr -d $'\r' | bc` 0)
|
||||
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID['network-rack']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${SVRRM_VOLT}','${NETRK_AMP}','${NETRK_WATT}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
@@ -1262,11 +1262,11 @@ POWERLOGGER_SERVICE(){
|
||||
AIRCON_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['ServerRoom-AC']}:8888/status/${PW_SENSOR_DEVICEID['ServerRoom-AC']} | jq '.dps')
|
||||
if [ "${AIRCON_INFO}" != "" ]; then
|
||||
AIRCON_AMP=$(echo "${AIRCON_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | bc -l) 2)
|
||||
AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | tr -d $'\r' | bc -l) 2)
|
||||
AIRCON_WATT=$(echo "${AIRCON_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | bc -l)
|
||||
AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | tr -d $'\r' | bc -l)
|
||||
AIRCON_VOLT=$(echo "${AIRCON_INFO}" | grep '"20":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AIRCON_VOLT=$(echo "scale=3; ${AIRCON_VOLT}/10" | bc -l)
|
||||
AIRCON_VOLT=$(echo "scale=3; ${AIRCON_VOLT}/10" | tr -d $'\r' | bc -l)
|
||||
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID['ServerRoom-AC']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${AIRCON_VOLT}','${AIRCON_AMP}','${AIRCON_WATT}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
@@ -1278,8 +1278,8 @@ POWERLOGGER_SERVICE(){
|
||||
fi
|
||||
|
||||
if [ "${SVRRM_WATT}" != "" ]; then
|
||||
SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AIRCON_AMP}" | bc -l)
|
||||
SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AIRCON_WATT}" | bc -l)
|
||||
SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AIRCON_AMP}" | tr -d $'\r' | bc -l)
|
||||
SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AIRCON_WATT}" | tr -d $'\r' | bc -l)
|
||||
QRY="INSERT INTO power_data (sensorid, date, amp, watt) VALUES ('${PW_POWERSENSOR_ID['total-wac']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${SVRRM_AMP_WAC}','${SVRRM_WATT_WAC}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
${mysql_conn} -e "USE servermonitor; UPDATE latest_sensor_data SET date = CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'), watt = '${SVRRM_WATT_WAC}' WHERE sensorid='${PW_POWERSENSOR_ID['total-wac']}'"
|
||||
@@ -1289,11 +1289,11 @@ POWERLOGGER_SERVICE(){
|
||||
KYLE_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['KP-Power']}:8888/status/${PW_SENSOR_DEVICEID['KP-Power']} | jq '.dps')
|
||||
if [ "${KYLE_INFO}" != "" ]; then
|
||||
KYLE_AMP=$(echo "${KYLE_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | bc -l) 2)
|
||||
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | tr -d $'\r' | bc -l) 2)
|
||||
KYLE_WATT=$(echo "${KYLE_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | bc -l)
|
||||
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | tr -d $'\r' | bc -l)
|
||||
KYLE_VOLT=$(echo "${KYLE_INFO}" | grep '"20":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_VOLT=$(echo "scale=3; ${KYLE_VOLT}/10" | bc -l)
|
||||
KYLE_VOLT=$(echo "scale=3; ${KYLE_VOLT}/10" | tr -d $'\r' | bc -l)
|
||||
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID['KP-Power']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${KYLE_VOLT}','${KYLE_AMP}','${KYLE_WATT}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
@@ -1306,11 +1306,11 @@ POWERLOGGER_SERVICE(){
|
||||
KYLE_INFO=$(curl -m 3 -s http://${PW_REMOTE_SENSORS['KP-SAS']}:8888/status/${PW_SENSOR_DEVICEID['KP-SAS']} | jq '.dps')
|
||||
if [ "${KYLE_INFO}" != "" ]; then
|
||||
KYLE_AMP=$(echo "${KYLE_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | bc -l) 2)
|
||||
KYLE_AMP=$(ROUND_NUMBER $(echo "scale=3; ${KYLE_AMP}/1000" | tr -d $'\r' | bc -l) 2)
|
||||
KYLE_WATT=$(echo "${KYLE_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | bc -l)
|
||||
KYLE_WATT=$(echo "scale=1; ${KYLE_WATT}/10" | tr -d $'\r' | bc -l)
|
||||
KYLE_VOLT=$(echo "${KYLE_INFO}" | grep '"20":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
KYLE_VOLT=$(echo "scale=3; ${KYLE_VOLT}/10" | bc -l)
|
||||
KYLE_VOLT=$(echo "scale=3; ${KYLE_VOLT}/10" | tr -d $'\r' | bc -l)
|
||||
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp, watt) VALUES ('${PW_POWERSENSOR_ID['KP-SAS']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${KYLE_VOLT}','${KYLE_AMP}','${KYLE_WATT}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
@@ -1325,16 +1325,16 @@ POWERLOGGER_SERVICE(){
|
||||
if [ "$(echo "${upsinfo}" | grep 'input.voltage:')" != "" ]; then
|
||||
OFFSITE_VOLTOUT=$(echo "${upsinfo}" | grep 'output.voltage:' | sed 's/.*: //')
|
||||
OFFSITE_LOAD=$(echo "${upsinfo}" | grep 'ups.load:' | sed 's/.*: //')
|
||||
OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | bc`
|
||||
OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*$(echo "${upsinfo}" | grep 'ups.realpower.nominal:' | sed 's/.*: //')" | bc`
|
||||
OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc`
|
||||
OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | tr -d $'\r' | bc`
|
||||
OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*$(echo "${upsinfo}" | grep 'ups.realpower.nominal:' | sed 's/.*: //')" | tr -d $'\r' | bc`
|
||||
OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | tr -d $'\r' | bc`
|
||||
|
||||
if (( $(bc <<<"${OFFSITE_WATTS} < 100") )); then
|
||||
TOTAL_MISC_WATTS=0; TOTAL_MISC_AMPS=0
|
||||
for mSENSOR in "${PW_POWERSENSOR_MISC[@]}"; do
|
||||
IFS=: read -r AMP WATT VOLT <<< $(GET_TUYA_POWER ${mSENSOR}); unset IFS
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+${WATT}" | bc`
|
||||
TOTAL_MISC_AMPS=`echo "scale=2; ${TOTAL_MISC_AMPS}+${AMP}" | bc`
|
||||
TOTAL_MISC_WATTS=`echo "scale=2; ${TOTAL_MISC_WATTS}+${WATT}" | tr -d $'\r' | bc`
|
||||
TOTAL_MISC_AMPS=`echo "scale=2; ${TOTAL_MISC_AMPS}+${AMP}" | tr -d $'\r' | bc`
|
||||
done
|
||||
if (( $(bc <<<"${OFFSITE_WATTS} < ${TOTAL_MISC_WATTS}") )); then
|
||||
OFFSITE_WATTS=${TOTAL_MISC_WATTS}
|
||||
@@ -1386,9 +1386,9 @@ POWERLOGGER_SERVICE(){
|
||||
fi
|
||||
done
|
||||
if [ ${found} -eq 1 ] && [ "${HOST_WATTS}" != "0" ] && [ "${HOST_WATTS}" != "" ] && [[ "${HOST_WATTS}" != *"Timeout"* ]]; then
|
||||
[ "${PS1}" != "0.0" ] && PS1=`echo "scale=1; ${PS1}/10" | bc` && (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||
[ "${PS2}" != "0.0" ] && PS2=`echo "scale=1; ${PS2}/10" | bc` && (( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||
HOST_AMPS=`echo "scale=1; ${PS1}+${PS2}" | bc`
|
||||
[ "${PS1}" != "0.0" ] && PS1=`echo "scale=1; ${PS1}/10" | tr -d $'\r' | bc` && (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||
[ "${PS2}" != "0.0" ] && PS2=`echo "scale=1; ${PS2}/10" | tr -d $'\r' | bc` && (( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||
HOST_AMPS=`echo "scale=1; ${PS1}+${PS2}" | tr -d $'\r' | bc`
|
||||
QRY="INSERT INTO power_data (sensorid, date, amp, watt) VALUES ('${PW_POWERSENSOR_ID[${SENSOR}]}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${HOST_AMPS}','${HOST_WATTS}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
fi
|
||||
@@ -1403,11 +1403,11 @@ POWERLOGGER_SERVICE(){
|
||||
# UPS_VOLTIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.3.3.1.3.1 | sed 's/.*: //')
|
||||
# UPS_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //')
|
||||
# UPS_LOAD=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.2.2.1.11.3 | sed 's/.*: //')
|
||||
# UPS_LOAD=`echo "scale=2; ${UPS_LOAD}/10" | bc`
|
||||
# UPS_LOAD=`echo "scale=2; ${UPS_LOAD}/10" | tr -d $'\r' | bc`
|
||||
# UPS_AMPSIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.3.3.1.4.1 | sed 's/.*: //')\
|
||||
# UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | bc`
|
||||
# UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | tr -d $'\r' | bc`
|
||||
# UPS_AMPSOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //')\
|
||||
# UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | bc`
|
||||
# UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | tr -d $'\r' | bc`
|
||||
# UPS_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.2.2.1.8.3 | sed 's/.*: //')
|
||||
# UPS_BATT_RUNTIME=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.18.0 | sed 's/.*: //')
|
||||
# UPS_BATT_VOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.4.1.476.1.42.3.5.1.10.0 | sed 's/.*: //')
|
||||
@@ -1418,14 +1418,14 @@ POWERLOGGER_SERVICE(){
|
||||
UPS_VOLTOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //')
|
||||
UPS_LOAD=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.4.4.1.5.1 | sed 's/.*: //')
|
||||
UPS_AMPSIN=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.3.3.1.4.1 | sed 's/.*: //')\
|
||||
#UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | bc`
|
||||
#UPS_AMPSIN=`echo "scale=2; ${UPS_AMPSIN}/10" | tr -d $'\r' | bc`
|
||||
UPS_AMPSOUT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //')\
|
||||
UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | bc`
|
||||
UPS_AMPSOUT=`echo "scale=2; ${UPS_AMPSOUT}/10" | tr -d $'\r' | bc`
|
||||
# UPS_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.2.1.33.1.4.4.1.4.1 | sed 's/.*: //')
|
||||
UPS_WATTS=`echo "scale=2; ${UPS_VOLTOUT}*${UPS_AMPSOUT}" | bc`
|
||||
UPS_WATTS=`echo "scale=2; ${UPS_VOLTOUT}*${UPS_AMPSOUT}" | tr -d $'\r' | bc`
|
||||
UPS_BATT_RUNTIME=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.2.3.0 | sed 's/.*: //')
|
||||
UPS_BATT_VOLT=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.2.5.0 | sed 's/.*: //')
|
||||
UPS_BATT_VOLT=`echo "scale=2; ${UPS_BATT_VOLT}/10" | bc`
|
||||
UPS_BATT_VOLT=`echo "scale=2; ${UPS_BATT_VOLT}/10" | tr -d $'\r' | bc`
|
||||
UPS_BATT_CAP=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} .1.3.6.1.2.1.33.1.2.4.0 | sed 's/.*: //')
|
||||
|
||||
QRY="INSERT INTO power_data (sensorid, date, volt, amp) VALUES ('${PW_POWERSENSOR_ID['ups-input']}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${UPS_VOLTIN}','${UPS_AMPSIN}')"
|
||||
@@ -1477,9 +1477,9 @@ POWERLOGGER_SERVICE(){
|
||||
fi
|
||||
done
|
||||
if [ ${found} -eq 1 ] && [ "${HOST_WATTS}" != "0" ] && [ "${HOST_WATTS}" != "" ] && [[ "${HOST_WATTS}" != *"Timeout"* ]]; then
|
||||
[ "${PS1}" != "0.0" ] && PS1=`echo "scale=1; ${PS1}/10" | bc` && (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||
[ "${PS2}" != "0.0" ] && PS2=`echo "scale=1; ${PS2}/10" | bc` && (( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||
HOST_AMPS=`echo "scale=1; ${PS1}+${PS2}" | bc`
|
||||
[ "${PS1}" != "0.0" ] && PS1=`echo "scale=1; ${PS1}/10" | tr -d $'\r' | bc` && (( $(bc <<<"${PS1} < 1") )) && [[ "${PS1}" = *"."* ]] && PS1="0${PS1}"
|
||||
[ "${PS2}" != "0.0" ] && PS2=`echo "scale=1; ${PS2}/10" | tr -d $'\r' | bc` && (( $(bc <<<"${PS2} < 1") )) && [[ "${PS2}" = *"."* ]] && PS2="0${PS2}"
|
||||
HOST_AMPS=`echo "scale=1; ${PS1}+${PS2}" | tr -d $'\r' | bc`
|
||||
QRY="INSERT INTO power_data (sensorid, date, amp, watt) VALUES ('${PW_POWERSENSOR_ID[${SENSOR}]}',CONVERT_TZ('${LogDataTime}', 'America/Chicago', 'UTC'),'${HOST_AMPS}','${HOST_WATTS}')"
|
||||
${mysql_conn} -e "USE servermonitor; ${QRY}"
|
||||
fi
|
||||
@@ -1680,18 +1680,18 @@ GET_TUYA_POWER(){
|
||||
WATT=-1
|
||||
if [ "$(echo "${INFO}" | grep '"18":')" != "" ]; then
|
||||
AMP=$(echo "${INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AMP=$(ROUND_NUMBER $(echo "scale=3; ${AMP}/1000" | bc -l) 2)
|
||||
AMP=$(ROUND_NUMBER $(echo "scale=3; ${AMP}/1000" | tr -d $'\r' | bc -l) 2)
|
||||
WATT=$(echo "${INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
WATT=$(echo "scale=1; ${WATT}/10" | bc -l)
|
||||
WATT=$(echo "scale=1; ${WATT}/10" | tr -d $'\r' | bc -l)
|
||||
VOLT=$(echo "${INFO}" | grep '"20":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
VOLT=$(echo "scale=1; ${VOLT}/10" | bc -l)
|
||||
VOLT=$(echo "scale=1; ${VOLT}/10" | tr -d $'\r' | bc -l)
|
||||
elif [ "$(echo "${INFO}" | grep '"6":')" != "" ]; then
|
||||
AMP=$(echo "${INFO}" | grep '"4":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
AMP=$(ROUND_NUMBER $(echo "scale=3; ${AMP}/1000" | bc -l) 2)
|
||||
AMP=$(ROUND_NUMBER $(echo "scale=3; ${AMP}/1000" | tr -d $'\r' | bc -l) 2)
|
||||
WATT=$(echo "${INFO}" | grep '"5":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
WATT=$(echo "scale=1; ${WATT}/10" | bc -l)
|
||||
WATT=$(echo "scale=1; ${WATT}/10" | tr -d $'\r' | bc -l)
|
||||
VOLT=$(echo "${INFO}" | grep '"6":' | cut -d' ' -f 4 | sed 's/,//g')
|
||||
VOLT=$(echo "scale=1; ${VOLT}/10" | bc -l)
|
||||
VOLT=$(echo "scale=1; ${VOLT}/10" | tr -d $'\r' | bc -l)
|
||||
fi
|
||||
[ "${WATT}" != "-1" ] && echo "${AMP}:${WATT}:${VOLT}" || echo "0:0:0"
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user