Update powerwall.sh

This commit is contained in:
2023-11-04 09:58:57 -05:00
parent 0e6e94980f
commit 5ab9ccc167

View File

@@ -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}"