This commit is contained in:
2025-05-26 19:48:59 -05:00
parent 23318c75d0
commit 109ab49033
2 changed files with 24 additions and 22 deletions

View File

@@ -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}

View File

@@ -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