diff --git a/powerwall.sh b/powerwall.sh index 647a5d7b..200a7e27 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -534,91 +534,92 @@ check_GETHOSTPOWER(){ CHECKPOWER(){ start=`date +%s` rm -f ${PW_TMPFOLDER}/*.hostpower* - echo -e "\n${idsCL[Yellow]}Power Information" + DIVIDER . yellow 75 + echo -e "\n${idsCL[Yellow]}Mainsite Power Information" DIVIDER . yellow 75 - # 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 - # if [ "$(CHECK_HOST inv1.scity.us)" != "false" ]; then - # INVSTATSINFO=$(curl -s "https://inv1.scity.us/stats.json") - # INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'` - # INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'` - # OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'` - # OUTPUTV2=`echo "scale=1; ${OUTPUTV}/2" | bc` - # OUTPUTA=`echo ${INVSTATSINFO} | jq '.outputs .outA'` - # OUTPUTA2=`echo "scale=1; ${OUTPUTA}*2" | bc` - # OUTPUTW=`echo ${INVSTATSINFO} | jq '.outputs .outW'` - # [[ "${OUTPUTW}" == *"."* ]] && [[ "${OUTPUTW}" != *".0"* ]] && OUTPUTW=`printf "%'.1f\n" ${OUTPUTW}` || OUTPUTW=`printf "%'.0f\n" ${OUTPUTW}` - # BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'` - # BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'` - # [[ "${BATTA}" == *"-"* ]] && BATTA_disp="${idsCL[Green]}${BATTA}'A - Charging" || BATTA_disp="${idsCL[LightRed]}${BATTA}'A - Discharging" - # fi - # - # echo -e "${idsCL[LightCyan]}Inverter Input Volts ${idsCL[Default]}: ${idsCL[Green]}${INPUTV}'V" - # echo -e "${idsCL[LightCyan]}Inverter Input Amps ${idsCL[Default]}: ${idsCL[Green]}${INPUTA}'A" - # echo - # echo -e "${idsCL[LightCyan]}Inverter Output Volts ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTV}'V / ${OUTPUTV2}'V" - # echo -e "${idsCL[LightCyan]}Inverter Output Amps ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTA}'A / ${OUTPUTA2}'A" - # echo -e "${idsCL[LightCyan]}Inverter Output Watts ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTW}'W" - # echo - # echo -e "${idsCL[LightCyan]}Battery Voltage ${idsCL[Default]}: ${idsCL[Green]}${BATTV}'V${idsCL[Default]}" - # echo -e "${idsCL[LightCyan]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}" - # echo - # - # if [ "$(CHECK_HOST 10.10.1.205)" != "false" ]; then - # SVRRM_VOLT=$(snmpwalk -v 1 -c public 10.10.1.205 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_WATT=$(snmpwalk -v 1 -c public 10.10.1.205 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 "%'.1f\n" ${SVRRM_WATT}` || SVRRM_WATT_disp=`printf "%'.0f\n" ${SVRRM_WATT}` - # SVRRM_AMP=$(snmpwalk -v 1 -c public 10.10.1.205 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 10.10.1.210)" != "false" ]; then - # APCPDU_AMP=$(snmpwalk -v 1 -c public 10.10.1.210 .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_WATT=$(snmpwalk -v 1 -c public 10.10.1.210 .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //') - # APCPDU_WATT=`echo "scale=1; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc` - # [[ "${APCPDU_WATT}" == *"."* ]] && [[ "${APCPDU_WATT}" != *".0"* ]] && APCPDU_WATT_disp=`printf "%'.1f\n" ${APCPDU_WATT}` || APCPDU_WATT_disp=`printf "%'.0f\n" ${APCPDU_WATT}` - # 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${idsCL[Default]}" - # echo - # - # if [ "${SVRRM_VOLT}" != "" ]; then - # if [ "${APCPDU_AMP}" != "" ]; then - # NETRK_AMP=`echo "scale=1; ${SVRRM_AMP}-${APCPDU_AMP}" | bc` - # NETRK_WATT=`echo "scale=0; ${SVRRM_WATT}-${APCPDU_WATT}" | bc` - # [[ "${NETRK_WATT}" == *"."* ]] && [[ "${NETRK_WATT}" != *".0"* ]] && NETRK_WATT=`printf "%'.1f\n" ${NETRK_WATT}` || NETRK_WATT=`printf "%'.0f\n" ${NETRK_WATT}` - # fi - # VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLT}" | bc` - # fi - # - # echo -e "${idsCL[LightCyan]}NetworkRack Amps ${idsCL[Default]}: ${idsCL[Green]}${NETRK_AMP}'A${idsCL[Default]}" - # echo -e "${idsCL[LightCyan]}NetworkRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${NETRK_WATT}'W${idsCL[Default]}" - # echo - # - # echo -e "${idsCL[LightCyan]}Voltage ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_VOLT}'V${idsCL[Default]}" - # echo -e "${idsCL[LightCyan]}Voltage Drop ${idsCL[Default]}: ${idsCL[LightRed]}${VOLT_DROP}'V${idsCL[Default]}" - # echo -e "${idsCL[LightCyan]}Total Amps ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_AMP}'A${idsCL[Default]}" - # echo -e "${idsCL[LightCyan]}Total Wattage ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_WATT_disp}'W${idsCL[Default]}" - # echo - # fi + 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 + if [ "$(CHECK_HOST inv1.scity.us)" != "false" ]; then + INVSTATSINFO=$(curl -s "https://inv1.scity.us/stats.json") + INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'` + INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'` + OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'` + OUTPUTV2=`echo "scale=1; ${OUTPUTV}/2" | bc` + OUTPUTA=`echo ${INVSTATSINFO} | jq '.outputs .outA'` + OUTPUTA2=`echo "scale=1; ${OUTPUTA}*2" | bc` + OUTPUTW=`echo ${INVSTATSINFO} | jq '.outputs .outW'` + [[ "${OUTPUTW}" == *"."* ]] && [[ "${OUTPUTW}" != *".0"* ]] && OUTPUTW=`printf "%'.1f\n" ${OUTPUTW}` || OUTPUTW=`printf "%'.0f\n" ${OUTPUTW}` + BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'` + BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'` + [[ "${BATTA}" == *"-"* ]] && BATTA_disp="${idsCL[Green]}${BATTA}'A - Charging" || BATTA_disp="${idsCL[LightRed]}${BATTA}'A - Discharging" + fi + + echo -e "${idsCL[LightCyan]}Inverter Input Volts ${idsCL[Default]}: ${idsCL[Green]}${INPUTV}'V" + echo -e "${idsCL[LightCyan]}Inverter Input Amps ${idsCL[Default]}: ${idsCL[Green]}${INPUTA}'A" + echo + echo -e "${idsCL[LightCyan]}Inverter Output Volts ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTV}'V / ${OUTPUTV2}'V" + echo -e "${idsCL[LightCyan]}Inverter Output Amps ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTA}'A / ${OUTPUTA2}'A" + echo -e "${idsCL[LightCyan]}Inverter Output Watts ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTW}'W" + echo + echo -e "${idsCL[LightCyan]}Battery Voltage ${idsCL[Default]}: ${idsCL[Green]}${BATTV}'V${idsCL[Default]}" + echo -e "${idsCL[LightCyan]}Battery Amps Chg/DChg ${idsCL[Default]}: ${BATTA_disp}${idsCL[Default]}" + echo + + if [ "$(CHECK_HOST 10.10.1.205)" != "false" ]; then + SVRRM_VOLT=$(snmpwalk -v 1 -c public 10.10.1.205 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_WATT=$(snmpwalk -v 1 -c public 10.10.1.205 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 "%'.1f\n" ${SVRRM_WATT}` || SVRRM_WATT_disp=`printf "%'.0f\n" ${SVRRM_WATT}` + SVRRM_AMP=$(snmpwalk -v 1 -c public 10.10.1.205 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 10.10.1.210)" != "false" ]; then + APCPDU_AMP=$(snmpwalk -v 1 -c public 10.10.1.210 .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_WATT=$(snmpwalk -v 1 -c public 10.10.1.210 .1.3.6.1.4.1.318.1.1.12.1.16.0 | sed 's/.*: //') + APCPDU_WATT=`echo "scale=1; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc` + [[ "${APCPDU_WATT}" == *"."* ]] && [[ "${APCPDU_WATT}" != *".0"* ]] && APCPDU_WATT_disp=`printf "%'.1f\n" ${APCPDU_WATT}` || APCPDU_WATT_disp=`printf "%'.0f\n" ${APCPDU_WATT}` + 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${idsCL[Default]}" + echo + + if [ "${SVRRM_VOLT}" != "" ]; then + if [ "${APCPDU_AMP}" != "" ]; then + NETRK_AMP=`echo "scale=1; ${SVRRM_AMP}-${APCPDU_AMP}" | bc` + NETRK_WATT=`echo "scale=0; ${SVRRM_WATT}-${APCPDU_WATT}" | bc` + [[ "${NETRK_WATT}" == *"."* ]] && [[ "${NETRK_WATT}" != *".0"* ]] && NETRK_WATT=`printf "%'.1f\n" ${NETRK_WATT}` || NETRK_WATT=`printf "%'.0f\n" ${NETRK_WATT}` + fi + VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLT}" | bc` + fi + + echo -e "${idsCL[LightCyan]}NetworkRack Amps ${idsCL[Default]}: ${idsCL[Green]}${NETRK_AMP}'A${idsCL[Default]}" + echo -e "${idsCL[LightCyan]}NetworkRack Wattage ${idsCL[Default]}: ${idsCL[Green]}${NETRK_WATT}'W${idsCL[Default]}" + echo + + echo -e "${idsCL[LightCyan]}Voltage ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_VOLT}'V${idsCL[Default]}" + echo -e "${idsCL[LightCyan]}Voltage Drop ${idsCL[Default]}: ${idsCL[LightRed]}${VOLT_DROP}'V${idsCL[Default]}" + echo -e "${idsCL[LightCyan]}Total Amps ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_AMP}'A${idsCL[Default]}" + echo -e "${idsCL[LightCyan]}Total Wattage ${idsCL[Default]}: ${idsCL[Green]}${SVRRM_WATT_disp}'W${idsCL[Default]}" + echo + fi ######## DIVIDER . yellow 75 echo -e "${idsCL[Yellow]}Offsite Power Information" - DIVIDER true yellow 75 + 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/.*: //')