diff --git a/powerwall.sh b/powerwall.sh index 364fbc5a..9a59b917 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -538,81 +538,85 @@ CHECKPOWER(){ done check_GETHOSTPOWER & - # 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'` - # BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'` - # BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'` - # fi - # - # if [ "$(CHECK_HOST 10.10.1.205)" != "false" ]; then - # SVRRM_VOLT=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //') - # SVRRM_WATT=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.4.1 | sed 's/.*: //') - # SVRRM_AMP=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //') - # SVRRM_AMP=`echo "scale=1; ${SVRRM_AMP}/10" | 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` - # fi - # - # if [ "$(CHECK_HOST 10.10.1.205)" != "false" ]; then - # if [ "$(CHECK_HOST 10.10.1.210)" != "false" ]; then - # NETRK_AMP=`echo "scale=1; ${SVRRM_AMP}-${APCPDU_AMP}" | bc` - # NETRK_WATT=`echo "scale=0; ${SVRRM_WATT}-${APCPDU_WATT}" | bc` - # fi - # VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLT}" | bc` - # fi - # - # echo - # echo -e "${idsCL[Yellow]}Power Information" - # DIVIDER . yellow 75 - # - # echo -e "${idsCL[LightCyan]}Inverter Input Power ${idsCL[Default]}: ${idsCL[Green]}${INPUTV}V / ${INPUTA} A" - # echo -e "${idsCL[LightCyan]}Inverter Output Power ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTV}V (${OUTPUTV2}V) / ${OUTPUTA} A (${OUTPUTA2} A @ ${OUTPUTV2} V)" - # echo -e "${idsCL[LightCyan]}Battery Power ${idsCL[Default]}: ${idsCL[Green]}${BATTV}V / ${BATTA} A ${idsCL[Default]}" - # echo - # 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} W${idsCL[Default]}" - # echo - # 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[Red]}${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} W${idsCL[Default]}" - # echo - - 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[Red]}Host Offline" - elif [ "${watts}" == "0" ]; then hostpower="${idsCL[Default]}n/a" - else hostpower="${idsCL[Green]}${watts} W" - fi - echo -e "${idsCL[LightCyan]}HOST '${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 + 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'` + BATTV=`echo ${INVSTATSINFO} | jq '.inputs .battV'` + BATTA=`echo ${INVSTATSINFO} | jq '.inputs .xfA'` + fi - done + if [ "$(CHECK_HOST 10.10.1.205)" != "false" ]; then + SVRRM_VOLT=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.2.1 | sed 's/.*: //') + SVRRM_WATT=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.4.1 | sed 's/.*: //') + SVRRM_AMP=$(snmpwalk -v 1 -c public 10.10.1.205 iso.3.6.1.2.1.33.1.4.4.1.3.1 | sed 's/.*: //') + SVRRM_AMP=`echo "scale=1; ${SVRRM_AMP}/10" | 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` + fi + + if [ "$(CHECK_HOST 10.10.1.205)" != "false" ]; then + if [ "$(CHECK_HOST 10.10.1.210)" != "false" ]; then + NETRK_AMP=`echo "scale=1; ${SVRRM_AMP}-${APCPDU_AMP}" | bc` + NETRK_WATT=`echo "scale=0; ${SVRRM_WATT}-${APCPDU_WATT}" | bc` + fi + VOLT_DROP=`echo "scale=1; ${OUTPUTV2}-${SVRRM_VOLT}" | bc` + fi + + echo + echo -e "${idsCL[Yellow]}Power Information" + DIVIDER . yellow 75 + + echo -e "${idsCL[LightCyan]}Inverter Input Power ${idsCL[Default]}: ${idsCL[Green]}${INPUTV}V / ${INPUTA} A" + echo -e "${idsCL[LightCyan]}Inverter Output Power ${idsCL[Default]}: ${idsCL[Green]}${OUTPUTV}V (${OUTPUTV2}V) / ${OUTPUTA} A (${OUTPUTA2} A @ ${OUTPUTV2} V)" + echo -e "${idsCL[LightCyan]}Battery Power ${idsCL[Default]}: ${idsCL[Green]}${BATTV}V / ${BATTA} A ${idsCL[Default]}" + echo + 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} W${idsCL[Default]}" + echo + 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[Red]}${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} W${idsCL[Default]}" + echo + fi + + if [ "${1}" == "" ] || [ "${1}" == "hosts" ]; then + 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[Red]}Host Offline" + elif [ "${watts}" == "0" ]; then hostpower="${idsCL[Default]}n/a" + else hostpower="${idsCL[Green]}${watts} W" + fi + echo -e "${idsCL[LightCyan]}HOST '${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 + + done + fi end=`date +%s`; runtime=$((end-start)); echo -e "\nruntime: ${runtime}" [ "${action}" != "" ] && echo @@ -1212,7 +1216,7 @@ fi end=`date +%s`; runtime=$((end-start)) echo -e "\nruntime: ${runtime}\n" ;; - checkpower) CHECKPOWER;; + checkpower) CHECKPOWER ${2};; test) CHECKTEMP ${2} ${3};; iscsi-vm-shutdown) [ "${2^^}" == "SYS" ] && ISCSISYSVMSHUTDOWN || ISCSIVMSHUTDOWN