From 109ab49033aca3715862a6778e639daba52f8093 Mon Sep 17 00:00:00 2001 From: David Schroeder Date: Mon, 26 May 2025 19:48:59 -0500 Subject: [PATCH] update --- defaults.inc | 6 +++--- inc/temp.inc.sh | 40 +++++++++++++++++++++------------------- 2 files changed, 24 insertions(+), 22 deletions(-) diff --git a/defaults.inc b/defaults.inc index 9dd5337b..8a5664d5 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -PW_VERS='2.8.41-05262025' +PW_VERS='2.9.2-05262025' noheader=' update service dailytemp confsync -r -report test ' @@ -36,13 +36,13 @@ M_SRVCOPT=(start stop restart reload enable disable) source ${PW_FOLDER}/conf/settings.conf -# if [[ "${IP}" = "10.2.1."* ]]; then +if [[ "${IP}" = "10.6.1."* ]]; then mqtt_conn="/usr/bin/mosquitto_sub -h ${PW_IP} -u ${PW_MQTT_USER} -P ${PW_MQTT_PASS}" mysql_conn="/usr/bin/mariadb -h 127.0.0.1 -P 3308 --user=${PW_MYSQL_USER} --password=${PW_MYSQL_PASS}" # else # mqtt_conn="/usr/bin/mosquitto_sub -h 127.0.0.1 -u ${PW_MQTT_USER} -P ${PW_MQTT_PASS}" # mysql_conn='/usr/bin/mariadb' -# fi +fi EMAIL_NOTICE=${PW_EMAIL_NOTICE} PUSHOVER_APP_TOKEN=${PW_PUSHOVER_APP_TOKEN} diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index c2ad8542..11effafe 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -155,7 +155,7 @@ CHECKTEMP(){ if [ ${DETAILS} -eq 2 ] && [ "${avgdays}" = "noavg" ] && [[ "${SENSOR}" != *"FAN"* ]]; then for R in ${PW_TEMPIND_RANGE[@]}; do - OLD_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${R} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${R} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + [ "${mysql_conn}" != "" ] && OLD_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${R} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${R} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) if [ "${OLD_temp_f[1]}" != "" ]; then if [ $(bc -l <<< "${temp_f} < $(echo "scale=2; (${OLD_temp_f[1]}+${PW_TEMPIND_DIFF})/1" | bc)") -eq 1 ] && [ $(bc -l <<< "$(echo "scale=2; ${OLD_temp_f[1]}-${PW_TEMPIND_DIFF}" | bc) < ${temp_f}") -eq 1 ]; then echo -en "${idsCL[White]}\u23F9 " @@ -247,10 +247,10 @@ CHECKTEMP(){ lico=" " if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ] && [[ "${SENSOR}" = *"FAN"* ]]; then spc_cnt=6 - OLD_temp_f=($(${mysql_conn} -e "SELECT speed,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + [ "${mysql_conn}" != "" ] && OLD_temp_f=($(${mysql_conn} -e "SELECT speed,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) else spc_cnt=7 - OLD_temp_f=($(${mysql_conn} -e "SELECT temp,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + [ "${mysql_conn}" != "" ] && OLD_temp_f=($(${mysql_conn} -e "SELECT temp,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) fi OLD_temp_f=${OLD_temp_f[2]} OLD_date=${OLD_temp_f[3]} @@ -317,7 +317,7 @@ CHECKTEMP(){ DIVIDER . lightCyan 50 for M in 5 15 30 60 120; do lico=" " - OLD_temp_h=($(${mysql_conn} -e "SELECT hum,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + [ "${mysql_conn}" != "" ] && OLD_temp_h=($(${mysql_conn} -e "SELECT hum,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) OLD_temp_h=${OLD_temp_h[2]} OLD_date=${OLD_temp_h[3]} OLD_time=${OLD_temp_h[4]} @@ -476,8 +476,8 @@ CHECKTEMP(){ if [ ${DETAILS} -eq 2 ] && [ "${temp_f}" != "" ] && [ "${avgdays}" = "noavg" ] && [[ "${SENSOR}" != *"FAN"* ]]; then for R in ${PW_TEMPIND_RANGE[@]}; do - entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${sensorname// /_}' AND sensorid='${PW_SENSOR_ID[${SENSOR}]}'")) - OLD_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${R} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${R} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + [ "${mysql_conn}" != "" ] && entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${sensorname// /_}' AND sensorid='${PW_SENSOR_ID[${SENSOR}]}'")) + [ "${mysql_conn}" != "" ] && OLD_temp_f=($(${mysql_conn} -e "SELECT temp FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${R} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${R} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) if [ "${OLD_temp_f[1]}" != "" ]; then if [ $(bc -l <<< "${temp_f} < $(echo "scale=2; ${OLD_temp_f[1]}+${PW_TEMPIND_DIFF}" | bc)") -eq 1 ] && [ $(bc -l <<< "$(echo "scale=2; ${OLD_temp_f[1]}-${PW_TEMPIND_DIFF}" | bc) < ${temp_f}") -eq 1 ]; then echo -en "${idsCL[White]}\u23F9 " @@ -542,17 +542,19 @@ CHECKTEMP(){ DIVIDER . white ${PRI_WIDTH} for M in 5 15 30 60 120; do lico=" " - entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${sensorname// /_}' AND sensorid='${PW_SENSOR_ID[${SENSOR}]}'")) - if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ] && [[ "${SENSOR}" = *"FAN"* ]]; then - spc_cnt=6 - OLD_temp_f=($(${mysql_conn} -e "SELECT speed,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) - else - spc_cnt=7 - OLD_temp_f=($(${mysql_conn} -e "SELECT temp,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + if [ "${mysql_conn}" != "" ]; then + entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${sensorname// /_}' AND sensorid='${PW_SENSOR_ID[${SENSOR}]}'")) + if [ "${PW_SENSOR_TYPE[${SENSOR}]}" == "system" ] && [[ "${SENSOR}" = *"FAN"* ]]; then + spc_cnt=6 + [ "${mysql_conn}" != "" ] && OLD_temp_f=($(${mysql_conn} -e "SELECT speed,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + else + spc_cnt=7 + [ "${mysql_conn}" != "" ] && OLD_temp_f=($(${mysql_conn} -e "SELECT temp,date FROM servermonitor.sensor_data WHERE sensorid='${PW_SENSOR_ID[${SENSOR}]}' AND entity=${entityid[1]} AND date >= DATE_SUB(NOW(), INTERVAL $(expr ${M} + 1) MINUTE) AND date <= DATE_SUB(NOW(), INTERVAL $(expr ${M} - 6) MINUTE) ORDER BY date ASC LIMIT 1")) + fi + OLD_temp_f=${OLD_temp_f[2]} + OLD_date=${OLD_temp_f[3]} + OLD_time=${OLD_temp_f[4]} fi - OLD_temp_f=${OLD_temp_f[2]} - OLD_date=${OLD_temp_f[3]} - OLD_time=${OLD_temp_f[4]} if [ "${OLD_temp_f}" != "" ]; then if [ $(bc -l <<< "${temp_f} < $(echo "scale=2; ${OLD_temp_f}+${PW_TEMPIND_DIFF}" | bc)") -eq 1 ] && [ $(bc -l <<< "$(echo "scale=2; ${OLD_temp_f}-${PW_TEMPIND_DIFF}" | bc) < ${temp_f}") -eq 1 ]; then lclr="${idsCL[White]}" @@ -781,7 +783,7 @@ AVERAGETEMP(){ sensorid=${PW_SENSOR_ID[${sensor}]} logsfound=0; if [ "${3}" != "" ] && [ "${3}" != "hum" ]; then - entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${3}' AND sensorid='${sensorid}'")) + [ "${mysql_conn}" != "" ] && entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${3}' AND sensorid='${sensorid}'")) entityid=${entityid[1]} WHERE="sensorid=${sensorid} AND entity=${entityid}" else @@ -1287,7 +1289,7 @@ Previous Temp: ${last_temp}${GAUGESH}" wait=$(echo "scale=0; ${PW_MYSQL_LOG_INTERVAL_NORMAL}*60" | bc) fi - if [ "${PW_SENSOR_ID[${SENSORa}]}" != "" ] && [ ${lastinsert} -ge ${wait} ] && [ "${temp_f}" != "32.00" ] && [ "${temp_f}" != "32" ] && [ "${temp_f}" != "35.60" ]; then + if [ "${mysql_conn}" != "" ] && [ "${PW_SENSOR_ID[${SENSORa}]}" != "" ] && [ ${lastinsert} -ge ${wait} ] && [ "${temp_f}" != "32.00" ] && [ "${temp_f}" != "32" ] && [ "${temp_f}" != "35.60" ]; then if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ]; then entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${vSENSOR// /_}' AND sensorid='${PW_SENSOR_ID[${SENSORa}]}'")) if [ "${entityid[1]}" == "" ]; then @@ -1416,7 +1418,7 @@ Previous Temp: ${last_temp}${GAUGESH}" fi done - if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ]; then + if [ "${mysql_conn}" != "" ] && [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ]; then vHOST_FANS=$(snmpwalk -v 1 -c public -t 2 ${PW_HOST_IDRACS[${SENSORa}]} .1.3.6.1.4.1.674.10892.5.4.700.12.1.8.1 -O vq | sed -e 's/"//g') IFS=$'\n'; read -rd '' -a vHOST_FANS <<<"${vHOST_FANS}"; unset IFS vHFid=0