From a907dd23b9ecdf76f864a1b7e43aa88615fff5b6 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sun, 11 Feb 2024 20:04:00 -0600 Subject: [PATCH] Update power.inc.sh --- inc/power.inc.sh | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/inc/power.inc.sh b/inc/power.inc.sh index a48f5272..e68a8514 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -315,21 +315,17 @@ CHECKPOWER(){ OFFSITE_BATT_VOLT=$(echo "${upsinfo}" | grep 'battery.voltage:' | sed 's/.*: //') OFFSITE_BATT_CAP=$(echo "${upsinfo}" | grep 'battery.charge:' | sed 's/.*: //') - OFFSITE_FIREWALL_INFO=$(curl -m 3 -s http://${PW_TUYA_API}/status/${PW_SENSOR_DEVICEID['offsite-firewall']} | jq '.dps') - OFFSITE_FIREWALL_AMP=$(echo "${OFFSITE_FIREWALL_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g') - OFFSITE_FIREWALL_AMP=$(ROUND_NUMBER $(echo "scale=3; ${OFFSITE_FIREWALL_AMP}/1000" | bc -l) 2) - OFFSITE_FIREWALL_WATT=$(echo "${OFFSITE_FIREWALL_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g') - OFFSITE_FIREWALL_WATT=$(echo "scale=1; ${OFFSITE_FIREWALL_WATT}/10" | bc -l) - OFFSITE_FIREWALL_VOLT=$(echo "${OFFSITE_FIREWALL_INFO}" | grep '"20":' | cut -d' ' -f 4 | sed 's/,//g') - OFFSITE_FIREWALL_VOLT=$(echo "scale=1; ${OFFSITE_FIREWALL_VOLT}/10" | bc -l) - - OFFSITE_WIFI_INFO=$(curl -m 3 -s http://${PW_TUYA_API}/status/${PW_SENSOR_DEVICEID['offsite-wifi']} | jq '.dps') - OFFSITE_WIFI_AMP=$(echo "${OFFSITE_WIFI_INFO}" | grep '"4":' | cut -d' ' -f 4 | sed 's/,//g') - OFFSITE_WIFI_AMP=$(ROUND_NUMBER $(echo "scale=3; ${OFFSITE_WIFI_AMP}/1000" | bc -l) 2) - OFFSITE_WIFI_WATT=$(echo "${OFFSITE_WIFI_INFO}" | grep '"5":' | cut -d' ' -f 4 | sed 's/,//g') - OFFSITE_WIFI_WATT=$(echo "scale=1; ${OFFSITE_WIFI_WATT}/10" | bc -l) - OFFSITE_WIFI_VOLT=$(echo "${OFFSITE_WIFI_INFO}" | grep '"6":' | cut -d' ' -f 4 | sed 's/,//g') - OFFSITE_WIFI_VOLT=$(echo "scale=1; ${OFFSITE_WIFI_VOLT}/10" | bc -l) + declare -A OFFSITE_MISC + for mSENSOR in "${PW_POWERSENSOR_MISC[@]}"; do + INFO=$(curl -m 3 -s http://${PW_TUYA_API}/status/${PW_SENSOR_DEVICEID[${mSENSOR}]} | jq '.dps') + AMP=$(echo "${INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g') + AMP=$(ROUND_NUMBER $(echo "scale=3; ${AMP}/1000" | bc -l) 2) + WATT=$(echo "${INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g') + WATT=$(echo "scale=1; ${WATT}/10" | bc -l) + VOLT=$(echo "${INFO}" | grep '"20":' | cut -d' ' -f 4 | sed 's/,//g') + VOLT=$(echo "scale=1; ${VOLT}/10" | bc -l) + OFFSITE_MISC[${mSENSOR}]="${AMP}:${WATT}:${VOLT}" + done fi @@ -347,12 +343,16 @@ CHECKPOWER(){ [ ${REPORT} -eq 0 ] && echo echo -en "${idsCL[LightCyan]}Misc Sensors Amps Watts Volts" [ "${avgdays}" != "" ] && echo -e " Amps Watts" || echo - AD1=$(IDS_NUMBER_FORMAT ${OFFSITE_FIREWALL_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD1}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done - AD2=$(IDS_NUMBER_FORMAT ${OFFSITE_FIREWALL_WATT} 2 yes); c=0; spc2=''; spc1=`expr ${wspc} - ${#AD2}`; until [ ${c} = ${spc1} ]; do spc2="${spc2} "; ((c++)); done - echo -e "${idsCL[White]}Firewall Power Usage ${idsCL[Default]}: ${idsCL[Green]}${AD1}'A${spc}${AD2}'W${spc2}${OFFSITE_FIREWALL_VOLT}'V" - AD1=$(IDS_NUMBER_FORMAT ${OFFSITE_WIFI_AMP} 2 yes); c=0; spc=''; spc1=`expr ${wspc} - ${#AD1}`; until [ ${c} = ${spc1} ]; do spc="${spc} "; ((c++)); done - AD2=$(IDS_NUMBER_FORMAT ${OFFSITE_WIFI_WATT} 2 yes); c=0; spc2=''; spc1=`expr ${wspc} - ${#AD2}`; until [ ${c} = ${spc1} ]; do spc2="${spc2} "; ((c++)); done - echo -e "${idsCL[White]}WiFi Power Usage ${idsCL[Default]}: ${idsCL[Green]}${AD1}'A${spc}${AD2}'W${spc2}${OFFSITE_WIFI_VOLT}'V" + + for mSENSOR in "${!OFFSITE_MISC[@]}"; do + echo ${OFFSITE_MISC[${mSENSOR}]} | cut -d':' -f 1 | read AMP + echo ${OFFSITE_MISC[${mSENSOR}]} | cut -d':' -f 2 | read WATT + echo ${OFFSITE_MISC[${mSENSOR}]} | cut -d':' -f 3 | read VOLT + AD1="${PW_MISCSENSOR_DESC[${mSENSOR}]} Power Usage"; c=0; spc1=''; spca=`expr 24 - ${#AD1}`; until [ ${c} = ${spca} ]; do spc1="${spc1} "; ((c++)); done + AD2=$(IDS_NUMBER_FORMAT ${AMP} 2 yes); c=0; spc2=''; spca=`expr ${wspc} - ${#AD2}`; until [ ${c} = ${spca} ]; do spc2="${spc2} "; ((c++)); done + AD3=$(IDS_NUMBER_FORMAT ${WATT} 2 yes); c=0; spc3=''; spca=`expr ${wspc} - ${#AD3}`; until [ ${c} = ${spca} ]; do spc3="${spc3} "; ((c++)); done + echo -e "${AD1}${spc1}${idsCL[Default]}: ${idsCL[Green]}${AD1}'A${spc2}${AD2}'W${spc3}${VOLT}'V" + done DIVIDER . lightCyan ${PRI_WIDTH} [ "${avgdays}" != "" ] && echo -e " --${idsCL[LightYellow]}${avgdays_disp}-Averages---"