From 062bb6ab93581dfb616d2a350aa9e8d81d32aeb5 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Tue, 31 Oct 2023 09:24:15 -0500 Subject: [PATCH] Update powerwall.sh --- powerwall.sh | 43 ++++++++++++++++++++++++++++++++++--------- 1 file changed, 34 insertions(+), 9 deletions(-) diff --git a/powerwall.sh b/powerwall.sh index fb454c7e..7100e3b1 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -516,6 +516,17 @@ GETHOSTPOWER(){ fi echo ${temp} >| ${PW_TMPFOLDER}/${1}.hostpower } +check_GETHOSTPOWER(){ + for SENSOR in ${PW_SENSOR_ORD[@]}; do + if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then + checked="" + until [ "${checked}" != "" ]; do + [ -f ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower ] && checked=good + done + fi + done + touch ${PW_TMPFOLDER}/done.hostpower +} CHECKPOWER(){ @@ -524,6 +535,7 @@ CHECKPOWER(){ GETHOSTPOWER ${PW_HOST_IDRACS[${SENSOR}]} & fi done + check_GETHOSTPOWER & INVSTATSINFO=$(curl -s "https://inv1.scity.us/stats.json") INPUTV=`echo ${INVSTATSINFO} | jq '.inputs .inV'` @@ -568,15 +580,28 @@ CHECKPOWER(){ 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 - for SENSOR in ${PW_SENSOR_ORD[@]}; do - if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then - checked="" - until [ "${checked}" != "" ]; do - [ -f ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower ] && checked=good - done - watts=$(cat ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower) - echo -e "${idsCL[LightCyan]}HOST '${PW_iDRACHOST_SHORTNAMES[${PW_HOST_IDRACS[${SENSOR}]}]}' ${idsCL[Default]}: ${idsCL[Green]}${watts}W${idsCL[Default]}" - rm -f ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower + # for SENSOR in ${PW_SENSOR_ORD[@]}; do + # if [ "${PW_HOST_IDRACS[${SENSOR}]}" != "" ]; then + # checked="" + # until [ "${checked}" != "" ]; do + # [ -f ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower ] && checked=good + # done + # watts=$(cat ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower) + # echo -e "${idsCL[LightCyan]}HOST '${PW_iDRACHOST_SHORTNAMES[${PW_HOST_IDRACS[${SENSOR}]}]}' ${idsCL[Default]}: ${idsCL[Green]}${watts}W${idsCL[Default]}" + # rm -f ${PW_TMPFOLDER}/${PW_HOST_IDRACS[${SENSOR}]}.hostpower + # fi + # done + + until [ "${checked}" != "" ]; do + for hostfile in ${PW_TMPFOLDER}/*.hostpower; do + host=${hostfile%.*}; host=${host##*/} + watts=$(cat ${hostfile}) + echo -e "${idsCL[LightCyan]}HOST '${PW_iDRACHOST_SHORTNAMES[${host}]}' ${idsCL[Default]}: ${idsCL[Green]}${watts}W${idsCL[Default]}" + rm -f ${hostfile} + done + if [ -f ${PW_TMPFOLDER}/done.hostpower ]; then + checked=done + rm -f ${PW_TMPFOLDER}/done.hostpower fi done