diff --git a/powerwall.sh b/powerwall.sh index 64486c3b..ab1d3235 100755 --- a/powerwall.sh +++ b/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}"