From 5f014de11cc942532454f9ee8e1d5b586a3cdd71 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Sat, 10 Feb 2024 23:04:47 -0600 Subject: [PATCH] Update power.inc.sh --- inc/power.inc.sh | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/inc/power.inc.sh b/inc/power.inc.sh index 4070a61c..44cab654 100644 --- a/inc/power.inc.sh +++ b/inc/power.inc.sh @@ -142,14 +142,14 @@ CHECKPOWER(){ SVRRM_AMP=$(snmpwalk -t 1 -r 0 -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` - AC_INFO=$(curl -s http://${PW_TUYA_API}/status/${PW_SENSOR_DEVICEID['ServerRoom-AC']} | jq '.dps') - AC_AMP=$(echo "${AC_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g') - AC_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AC_AMP}/1000" | bc -l) 2) - AC_WATT=$(echo "${AC_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g') - AC_WATT=$(ROUND_NUMBER $(echo "scale=3; ${AC_WATT}/10" | bc -l) 2) + AIRCON_INFO=$(curl -m 3 -s http://${PW_TUYA_API}/status/${PW_SENSOR_DEVICEID['ServerRoom-AC']} | jq '.dps') + AIRCON_AMP=$(echo "${AIRCON_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g') + AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | bc -l) 2) + AIRCON_WATT=$(echo "${AIRCON_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g') + AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | bc -l) - SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AC_AMP}" | bc -l) - SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AC_WATT}" | bc -l) + SVRRM_AMP_WAC=$(echo "scale=2; ${SVRRM_AMP}+${AIRCON_AMP}" | bc -l) + SVRRM_WATT_WAC=$(echo "scale=2; ${SVRRM_WATT}+${AIRCON_WATT}" | bc -l) # fi # # if [ "$(CHECK_HOST ${PW_APCPDU_IP})" != "false" ]; then @@ -203,10 +203,10 @@ CHECKPOWER(){ # NETRK_WATT_avg=$(echo ${NETRK_avg} | cut -d'~' -f 2) # echo -en "\r\033[K" # fi - echo -en "${idsCL[White]}Air Conditioner Amps ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${AC_AMP}`'amps ${idsCL[Default]}" - [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${AC_AMP_avg}`'amps${idsCL[Default]}" || echo -e "${idsCL[Default]}" - echo -en "${idsCL[White]}Air Conditioner Wattage ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${AC_WATT} 0`'watts ${idsCL[Default]}" - [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${AC_WATT_avg} 0`'watts${idsCL[Default]}" || echo -e "${idsCL[Default]}" + echo -en "${idsCL[White]}Air Conditioner Amps ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${AIRCON_AMP}`'amps ${idsCL[Default]}" + [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${AIRCON_AMP_avg}`'amps${idsCL[Default]}" || echo -e "${idsCL[Default]}" + echo -en "${idsCL[White]}Air Conditioner Wattage ${idsCL[Default]}: ${idsCL[Green]}`IDS_NUMBER_FORMAT ${AIRCON_WATT} 0`'watts ${idsCL[Default]}" + [ "${avgdays}" != "" ] && echo -e "${idsCL[LightYellow]} `IDS_NUMBER_FORMAT ${AIRCON_WATT_avg} 0`'watts${idsCL[Default]}" || echo -e "${idsCL[Default]}" DIVIDER . lightCyan ${PRI_WIDTH} fi @@ -800,6 +800,17 @@ POWERLOGGER_SERVICE(){ ${mysql_conn} -e "USE servermonitor; ${QRY}" fi + AIRCON_INFO=$(curl -m 3 -s http://${PW_TUYA_API}/status/${PW_SENSOR_DEVICEID['ServerRoom-AC']} | jq '.dps') + AIRCON_AMP=$(echo "${AIRCON_INFO}" | grep '"18":' | cut -d' ' -f 4 | sed 's/,//g') + AIRCON_AMP=$(ROUND_NUMBER $(echo "scale=3; ${AIRCON_AMP}/1000" | bc -l) 2) + AIRCON_WATT=$(echo "${AIRCON_INFO}" | grep '"19":' | cut -d' ' -f 4 | sed 's/,//g') + AIRCON_WATT=$(echo "scale=1; ${AIRCON_WATT}/10" | bc -l) + AIRCON_VOLT=$(echo "${AIRCON_INFO}" | grep '"20":' | cut -d' ' -f 4 | sed 's/,//g') + AIRCON_VOLT=$(echo "scale=3; ${AIRCON_VOLT}/10" | bc -l) + + QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`volt\`, \`amp\`, \`watt\`) VALUES ('${PW_POWERSENSOR_ID['ServerRoom-AC']}','${LogDataTime}','${SVRRM_VOLT}','${NETRK_AMP}','${NETRK_WATT}')" + ${mysql_conn} -e "USE servermonitor; ${QRY}" + # upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 admin@10.2.1.1 'upsc CP1500PFCLCD') upsinfo=$(ssh -q -o ConnectTimeout=3 -o ConnectionAttempts=1 root@${PW_OFFSITE_MONITOR} 'upsc CP1500PFCLCD' 2>&1) if [ "$(echo "${upsinfo}" | grep 'input.voltage:')" != "" ]; then