diff --git a/defaults.inc b/defaults.inc index 77f20639..b8b27ba2 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,5 +1,5 @@ -VERS='2.5.36-12172023' +VERS='2.5.37-12172023' noheader=' update service dailytemp confsync ' diff --git a/inc/power.inc.sh b/inc/power.inc.sh index d49915d7..709ac5ec 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -319,6 +319,8 @@ CHECKPOWER_SERVICE(){ touch ${PW_TMPFOLDER}/power.ac.start touch ${PW_TMPFOLDER}/power.dc.start while true; do + source /opt/idssys/powerwall/defaults.inc + INVSTATSINFO=$(curl -s "http://${PW_INVERTER_IP}/stats.json") SVRRM_UPS_INPUTACV=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_UPS_IP} iso.3.6.1.4.1.850.1.1.3.1.3.2.2.1.3.1.1 | sed 's/.*: //') @@ -340,8 +342,8 @@ CHECKPOWER_SERVICE(){ fi if [ "${INVSTATSINFO}" != "" ]; then - INPUTACV=$(echo ${INVSTATSINFO} | jq '.inputs .inV') - BATTVOLT=$(echo ${INVSTATSINFO} | jq '.inputs .battV') + [ "${TEST_INPUTACV}" != "" ] && INPUTACV=${TEST_INPUTACV} || INPUTACV=$(echo ${INVSTATSINFO} | jq '.inputs .inV') + [ "${TEST_BATTVOLT}" != "" ] && BATTVOLT=${TEST_BATTVOLT} || BATTVOLT=$(echo ${INVSTATSINFO} | jq '.inputs .battV') [ ! "${last_battvolt}" ] && last_battvolt=${BATTVOLT} if (( $(bc <<<"${INPUTACV} >= ${min_acvolt}") )); then @@ -393,8 +395,7 @@ BATT VOLTAGE: ${BATTVOLT}'volts" 1 touch ${PW_TMPFOLDER}/power.ac.low fi - # if [ ! -f ${PW_TMPFOLDER}/power.ac.conserve ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge $(echo "scale=0; ${PW_CONSERVE_AFTER}*60" | bc) ]; then - if [ ! -f ${PW_TMPFOLDER}/power.ac.conserve ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge 30 ]; then + if [ ! -f ${PW_TMPFOLDER}/power.ac.conserve ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.ac.low)) -ge $(echo "scale=0; ${PW_CONSERVE_AFTER}*60/1" | bc) ]; then echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - ${INPUTACV}'volts / ${BATTVOLT}'volts - Shutting down iSCSI VM's and Host to conserve power" >> ${PW_LOGPOWER} SENDNOTICE "POWER ALERT - Conserving Power" "Shutting down iSCSI VM's and Host to conserve power" 1 SHUTDOWN_SERVER ${PW_MAIN_ISCSI} -esxi off & @@ -420,7 +421,7 @@ BATT VOLTAGE: ${BATTVOLT}'volts" 1 if (( $(bc <<<"${BATTVOLT} <= ${min_battvolt_sys}") )); then [ ! -f ${PW_TMPFOLDER}/power.dc.critlow ] && touch ${PW_TMPFOLDER}/power.dc.critlow - if [ ! -f ${PW_TMPFOLDER}/shutdown.SYS.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.MAINSITE.started ] && (( $(bc <<<"${INPUTACV} < ${min_acvolt}") )); then + if [ ! -f ${PW_TMPFOLDER}/shutdown.SYS.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.MAINSITE.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.ALL.started ] && (( $(bc <<<"${INPUTACV} < ${min_acvolt}") )) && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.dc.critlow)) -ge 30 ]; then echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - Shutting down all remaining servers..." >> ${PW_LOGFILE} echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - Shutting down all remaining servers..." >> ${PW_LOGPOWER} SENDNOTICE "BATT-VOLT REALLY LOW: SHUTDOWN SYS SERVERS" "Battery Voltage REALLY LOW: ${BATTVOLT}'volts @@ -431,8 +432,9 @@ Shutting down all remaining servers" 1 elif (( $(bc <<<"${BATTVOLT} < ${min_battvolt}") )); then [ ! -f ${PW_TMPFOLDER}/power.dc.low ] && touch ${PW_TMPFOLDER}/power.dc.low + [ -f ${PW_TMPFOLDER}/power.dc.critlow ] && rm -f ${PW_TMPFOLDER}/power.dc.critlow - if [ ! -f ${PW_TMPFOLDER}/shutdown.MAIN.started ] && (( $(bc <<<"${INPUTACV} < ${min_acvolt}") )); then + if [ ! -f ${PW_TMPFOLDER}/shutdown.MAIN.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.MAINSITE.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.ALL.started ] && (( $(bc <<<"${INPUTACV} < ${min_acvolt}") )) && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.dc.low)) -ge 30 ]; then echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - Shutting down main servers..." >> ${PW_LOGFILE} echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - Shutting down main servers..." >> ${PW_LOGPOWER} SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "Battery Voltage LOW: ${BATTVOLT}'volts @@ -441,7 +443,7 @@ Shutting down main servers" 1 fi - elif [ ! -f ${PW_TMPFOLDER}/shutdown.MAIN.started ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.dc.low)) -ge $(echo "scale=0; ${PW_SHUTDOWN_MAINSERVERS_AFTER}*60" | bc) ]; then + elif [ ! -f ${PW_TMPFOLDER}/shutdown.MAIN.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.MAINSITE.started ] && [ ! -f ${PW_TMPFOLDER}/shutdown.ALL.started ] && [ $(expr `date +%s` - $(stat -c %Y ${PW_TMPFOLDER}/power.dc.low)) -ge $(echo "scale=0; ${PW_SHUTDOWN_MAINSERVERS_AFTER}*60" | bc) ]; then echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - Shutting down main servers..." >> ${PW_LOGFILE} echo "($(date +'%Y-%m-%d %H:%M:%S')) - ${BATTVOLT}'volts - Shutting down main servers..." >> ${PW_LOGPOWER} SENDNOTICE "BATT-VOLT LOW: SHUTDOWN MAIN SERVERS" "Battery Voltage LOW: ${BATTVOLT}'volts diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index d659a7fd..f4c82e43 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -239,6 +239,8 @@ CHECKTEMP_SERVICE(){ declare -A last_temp echo -e "($(date +'%Y-%m-%d %H:%M:%S')) - 'Check Temp' Service Startup" >> ${PW_LOGFILE} while true; do + source /opt/idssys/powerwall/defaults.inc + # start=`date +%s` # time="$(date +%H)$(date +%M)" # if [ ! -f ${PW_TMPFOLDER}/temp.* ] && [ $(date +%H)$(date +%M) -ge 0700 ] && [ $(date +%H)$(date +%M) -lt 0705 ]; then