Update powerwall.sh
This commit is contained in:
114
powerwall.sh
114
powerwall.sh
@@ -512,56 +512,18 @@ DAILYTEMP(){
|
||||
done
|
||||
}
|
||||
|
||||
GETHOSTPOWER(){
|
||||
[ "${RACADMONLINE}" == "ns" ] && RACADMONLINE=$(CHECK_HOST ${PW_RACADM_ACCESS})
|
||||
hostip=${PW_iDRACHOST_SHORTNAMES[${1}]}
|
||||
hostip=${PW_HOST_ADDRESSES[${hostip}]}
|
||||
if [ "$(CHECK_HOST ${hostip})" != "false" ] && [ "${RACADMONLINE}" != "false" ]; then
|
||||
if [ "${1}" == "10.10.2.26" ]; then
|
||||
temp=0
|
||||
else
|
||||
temp=$(ssh root@${PW_RACADM_ACCESS} racadm -r ${1} -u ${PW_ESXI_USER} -p "'${PW_ESXI_PASS}'" getsensorinfo | grep "System Board Pwr" | awk '/ / {print $6}' | sed -e 's/Watts//g' 2>&1)
|
||||
fi
|
||||
elif [ "${RACADMONLINE}" == "false" ]; then
|
||||
temp=racadmdown
|
||||
else
|
||||
temp=down
|
||||
fi
|
||||
echo ${temp} >| ${PW_TMPFOLDER}/${1}.hostpower
|
||||
}
|
||||
check_GETHOSTPOWER(){
|
||||
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
||||
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
||||
checked=""
|
||||
until [ "${checked}" != "" ]; do
|
||||
[ -f ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower.done ] && checked=good
|
||||
done
|
||||
fi
|
||||
done
|
||||
touch ${PW_TMPFOLDER}/done.hostpower
|
||||
}
|
||||
|
||||
|
||||
CHECKPOWER(){
|
||||
start=`date +%s`
|
||||
rm -f ${PW_TMPFOLDER}/*.hostpower*
|
||||
|
||||
# if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then
|
||||
# for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
||||
# if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
||||
# GETHOSTPOWER ${PW_HOST_IDRACS[${SENSOR}]} &
|
||||
# fi
|
||||
# done
|
||||
# check_GETHOSTPOWER &
|
||||
# fi
|
||||
|
||||
if [ "${1}" == "" ] || [ "${1}" == "sensors" ]; then
|
||||
DIVIDER . yellow 75
|
||||
echo -e "\n${idsCL[Yellow]}Mainsite Power Information"
|
||||
DIVIDER . yellow 75
|
||||
|
||||
if [ "$(CHECK_HOST ${PW_INVERTER_IP})" != "false" ]; then
|
||||
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
||||
|
||||
INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json")
|
||||
if [ "#{INVSTATSINFO}" != "" ]; then
|
||||
INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'`
|
||||
INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'`
|
||||
OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'`
|
||||
@@ -586,22 +548,23 @@ CHECKPOWER(){
|
||||
echo -e "${idsCL[LightCyan]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}"
|
||||
echo
|
||||
|
||||
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=2; ${SVRRM_VOLT}/10" | 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_WATT}" == *"."* ]] && [[ "${SVRRM_WATT}" != *".0"* ]] && SVRRM_WATT_disp=`printf "%'.2f\n" ${SVRRM_WATT}` || SVRRM_WATT_disp=`printf "%'.0f\n" ${SVRRM_WATT}`
|
||||
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`
|
||||
fi
|
||||
|
||||
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/.*: //')
|
||||
# if [ "$(CHECK_HOST ${PW_UPS_IP})" != "false" ]; then
|
||||
SVRRM_VOLT=$(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_VOLT=`echo "scale=2; ${SVRRM_VOLT}/10" | 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_WATT}" == *"."* ]] && [[ "${SVRRM_WATT}" != *".0"* ]] && SVRRM_WATT_disp=`printf "%'.2f\n" ${SVRRM_WATT}` || SVRRM_WATT_disp=`printf "%'.0f\n" ${SVRRM_WATT}`
|
||||
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`
|
||||
# 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_WATT=$(snmpwalk -v 1 -c public ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //')
|
||||
# APCPDU_WATT=$(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_VOLT}" | bc`
|
||||
[[ "${APCPDU_WATT}" == *"."* ]] && [[ "${APCPDU_WATT}" != *".0"* ]] && APCPDU_WATT_disp=`printf "%'.2f\n" ${APCPDU_WATT}` || APCPDU_WATT_disp=`printf "%'.0f\n" ${APCPDU_WATT}`
|
||||
fi
|
||||
# fi
|
||||
|
||||
echo -e "${idsCL[LightCyan]}ServerRack Amps ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_AMP}'A${idsCL[Default]}"
|
||||
echo -e "${idsCL[LightCyan]}ServerRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${APCPDU_WATT_disp}'W ~ estimate${idsCL[Default]}"
|
||||
@@ -632,17 +595,17 @@ CHECKPOWER(){
|
||||
echo -e "${idsCL[Yellow]}Offsite Power Information"
|
||||
DIVIDER . yellow 75
|
||||
|
||||
if [ "$(CHECK_HOST 10.2.1.100)" != "false" ]; then
|
||||
OFFSITE_VOLTIN=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.3.2.1.0 | sed 's/.*: //')
|
||||
# if [ "$(CHECK_HOST 10.2.1.100)" != "false" ]; then
|
||||
OFFSITE_VOLTIN=$(snmpwalk -t 1 -r 0-v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.3.2.1.0 | sed 's/.*: //')
|
||||
OFFSITE_VOLTIN=`echo "scale=2; ${OFFSITE_VOLTIN}/10" | bc`
|
||||
OFFSITE_VOLTOUT=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.1.0 | sed 's/.*: //')
|
||||
OFFSITE_VOLTOUT=$(snmpwalk -t 1 -r 0-v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.1.0 | sed 's/.*: //')
|
||||
OFFSITE_VOLTOUT=`echo "scale=2; ${OFFSITE_VOLTOUT}/10" | bc`
|
||||
OFFSITE_LOAD=$(snmpwalk -v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.3.0 | sed 's/.*: //')
|
||||
OFFSITE_LOAD=$(snmpwalk -t 1 -r 0-v 1 -c public 10.2.1.100 iso.3.6.1.4.1.3808.1.1.1.4.2.3.0 | sed 's/.*: //')
|
||||
OFFSITE_LOAD=`echo "scale=2; ${OFFSITE_LOAD}/100" | bc`
|
||||
OFFSITE_WATTS=`echo "scale=2; ${OFFSITE_LOAD}*900" | bc`
|
||||
OFFSITE_AMPS=`echo "scale=2; ${OFFSITE_WATTS}/${OFFSITE_VOLTOUT}" | bc`
|
||||
|
||||
fi
|
||||
# fi
|
||||
|
||||
echo -e "${idsCL[LightCyan]}UPS Voltage In ${idsCL[Default]}: ${idsCL[Green]}${OFFSITE_VOLTIN}'V${idsCL[Default]}"
|
||||
echo -e "${idsCL[LightCyan]}UPS Voltage Out ${idsCL[Default]}: ${idsCL[Green]}${OFFSITE_VOLTOUT}'V${idsCL[Default]}"
|
||||
@@ -655,12 +618,11 @@ CHECKPOWER(){
|
||||
|
||||
|
||||
########
|
||||
|
||||
DIVIDER . yellow 75
|
||||
echo -e "${idsCL[Yellow]}ESXi Host Power Information"
|
||||
DIVIDER . yellow 75
|
||||
|
||||
if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then
|
||||
DIVIDER . yellow 75
|
||||
echo -e "${idsCL[Yellow]}ESXi Host Power Information"
|
||||
DIVIDER . yellow 75
|
||||
|
||||
for SENSOR in ${PW_SENSOR_ORD[@]}; do
|
||||
if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then
|
||||
@@ -670,34 +632,6 @@ CHECKPOWER(){
|
||||
fi
|
||||
done
|
||||
|
||||
|
||||
# finalcheck=""
|
||||
# until [ "${finalcheck}" != "" ]; do
|
||||
# for hostfile in ${PW_TMPFOLDER}/*.hostpower; do
|
||||
# if [ -f ${hostfile} ] && [ "${hostfile}" != "${PW_TMPFOLDER}/*.hostpower" ]; then
|
||||
# host=${hostfile%.*}; host=${host##*/}
|
||||
# if [ "${host}" != "*" ] && [ "${host}" != "done" ]; then
|
||||
# watts=$(cat ${hostfile})
|
||||
# if [ "${watts}" == "down" ]; then
|
||||
# hostpower="${idsCL[LightRed]}Host Offline"
|
||||
# elif [ "${watts}" == "0" ]; then
|
||||
# hostpower="${idsCL[Default]}n/a"
|
||||
# else
|
||||
# [[ "${watts}" == *"."* ]] && [[ "${watts}" != *".0"* ]] && watts=`printf "%'.2f\n" ${watts}` || watts=`printf "%'.0f\n" ${watts}`
|
||||
# hostpower="${idsCL[Green]}${watts}'W"
|
||||
# fi
|
||||
# echo -e "${idsCL[LightCyan]}${PW_iDRACHOST_SHORTNAMES[${host}]} ${idsCL[Default]}: ${hostpower}${idsCL[Default]}"
|
||||
#
|
||||
# mv ${hostfile} ${hostfile}.done
|
||||
#
|
||||
# elif [ "${host}" == "done" ]; then
|
||||
# finalcheck=done
|
||||
# rm -f ${PW_TMPFOLDER}/*.hostpower*
|
||||
# fi
|
||||
# fi
|
||||
# done
|
||||
# sleep 0.25
|
||||
# done
|
||||
fi
|
||||
|
||||
end=`date +%s`; runtime=$((end-start)); echo -e "\nruntime: ${runtime}"
|
||||
|
||||
Reference in New Issue
Block a user