Update powerwall.sh

This commit is contained in:
2023-10-31 11:47:08 -05:00
parent c994381f7b
commit 8b195ac0a6

View File

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