From 4690d490006ce9d839f5f63b1c9988fc4f1e8e0d Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 4 Nov 2023 09:23:44 -0500 Subject: [PATCH] Update powerwall.sh --- defaults.inc | 5 +++++ powerwall.sh | 46 +++++++++++++++++++++++++++++----------------- 2 files changed, 34 insertions(+), 17 deletions(-) diff --git a/defaults.inc b/defaults.inc index 62ccc417..ccccce59 100755 --- a/defaults.inc +++ b/defaults.inc @@ -121,6 +121,11 @@ PW_MAINSITE_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS}" PW_ALL_HOSTS="${PW_MAINHOSTS},${PW_SYSHOSTS},${PW_OFFSITEHOSTS}" PW_RACADM_ACCESS=10.10.0.241 +PW_INVERTER_IP=10.10.0.6 +PW_UPS_IP=10.10.1.205 +PW_APCPDU_IP=10.10.1.210 + + RACADMONLINE='ns' IFS=, diff --git a/powerwall.sh b/powerwall.sh index d70cc43b..754f319d 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -560,8 +560,8 @@ CHECKPOWER(){ fi if [ "${1}" == "" ] || [ "${1}" == "sensors" ]; then - if [ "$(CHECK_HOST 10.10.0.61)" != "false" ]; then - INVSTATSINFO=$(curl -s "http://10.10.0.61/stats.json") + if [ "$(CHECK_HOST ${PW_INVERTER_IP})" != "false" ]; then + INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json") INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'` INPUTA=`echo ${INVSTATSINFO} | jq '.inputs .inA'` OUTPUTV=`echo ${INVSTATSINFO} | jq '.outputs .outV'` @@ -586,19 +586,19 @@ CHECKPOWER(){ 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/.*: //') + 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 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=$(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 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=$(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 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/.*: //') + 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/.*: //') APCPDU_AMP=`echo "scale=2; ${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=$(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=`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 @@ -864,19 +864,19 @@ POWERLOGGER_SERVICE(){ ${mysql_conn} -e "USE servermonitor; ${QRY}" 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.4.1.850.1.1.3.1.3.3.2.1.2.1.1 | sed 's/.*: //') + 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=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_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_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_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` QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('11','${datetime}','${SVRRM_VOLT}','${SVRRM_AMP}','${SVRRM_WATT}')" ${mysql_conn} -e "USE servermonitor; ${QRY}" 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/.*: //') + 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/.*: //') APCPDU_AMP=`echo "scale=1; ${APCPDU_AMP}/10" | bc` if [ "${SVRRM_VOLT}" != "" ]; then APCPDU_WATT=`echo "scale=1; ${APCPDU_AMP}*${SVRRM_VOLT}" | bc` @@ -1019,7 +1019,7 @@ SHUTDOWN_SYS(){ echo -e "(${datetime}) - ${temp_f}'F - Shutting down SYS servers" >> ${logtemp} fi - # curl --data "cmd=PWRoff" http://10.10.0.61/cmd + # curl --data "cmd=PWRoff" http://${PW_INVERTER_IP}/cmd echo } SHUTDOWN_CRIT(){ @@ -1253,7 +1253,7 @@ SHUTDOWN_SERVER(){ echo -e "${idsCL[Green]}Done\n" echo -en "${idsCL[LightCyan]}Powering off SAS Enclosure ... " - [ "${TEST}" != "true" ] && [ "$(CHECK_HOST 10.10.2.10)" != "false" ] && snmpset -v 1 -c private 10.10.1.210 .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.14 i 2 + [ "${TEST}" != "true" ] && [ "$(CHECK_HOST 10.10.2.10)" != "false" ] && snmpset -v 1 -c private ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.14 i 2 echo -e "${idsCL[Green]}Done\n" else @@ -1317,9 +1317,21 @@ HOSTPOWER(){ echo if [ "${2,,}" == "on" ] || [ "${2,,}" == "off" ] || [ "${2,,}" == "status" ]; then + if [ "${idracip}" == "10.10.2.20" ] && [ "${2,,}" == "on" ]; then + echo -en "${idsCL[LightCyan]}Powering ON the SAS Enclosure ... " + [ "${TEST}" != "true" ] && [ "$(CHECK_HOST 10.10.2.10)" != "false" ] && run=$(snmpset -v 1 -c private ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.14 i 1 >/dev/null 2>&1) + echo -e "${idsCL[Green]}Done\n" + fi + echo -e "${idsCL[Green]}" ipmitool -I lanplus -H ${idracip} -U ${PW_ESXI_USER} -P "${PW_ESXI_PASS}" chassis power ${2,,} echo -e "${idsCL[Default]}" + + if [ "${idracip}" == "10.10.2.20" ] && [ "${2,,}" == "off" ]; then + echo -en "${idsCL[LightCyan]}Powering OFF the SAS Enclosure ... " + [ "${TEST}" != "true" ] && [ "$(CHECK_HOST 10.10.2.10)" != "false" ] && run=$(snmpset -v 1 -c private ${PW_APCPDU_IP} .1.3.6.1.4.1.318.1.1.12.3.3.1.1.4.14 i 2 >/dev/null 2>&1) + echo -e "${idsCL[Green]}Done\n" + fi else echo -e "${idsCL[LightRed]}'${2,,}' command is not recognized${idsCL[Default]}" fi