diff --git a/defaults.inc b/defaults.inc index 67d39315..fbb504ed 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,6 +1,6 @@ #!/usr/bin/env bash -VERS='2.5.182-01282024' +VERS='2.5.183-01282024' noheader=' update service dailytemp confsync -r -report ' diff --git a/inc/temp.inc.sh b/inc/temp.inc.sh index ec2055bd..ccf12633 100644 --- a/inc/temp.inc.sh +++ b/inc/temp.inc.sh @@ -76,9 +76,9 @@ CHECKTEMP(){ echo -en "${idsCL[LightCyan]} [FanSpeed=$(cat ${PW_TMPFOLDER}/.fanspeed.${SENSOR}.${cdt})'% " if [ "${avgdays}" != "noavg" ]; then echo -en "${idsCL[Yellow]}Calculating ${avgdays} Day average ... ${idsCL[LightCyan]}]" - fan_average=$(AVERAGETEMP ${PW_SENSOR_ID[${SENSOR}]} ${avgdays} FanSpeed) + fan_average=$(AVERAGETEMP ${SENSOR} ${avgdays} FanSpeed) echo -en "\r\033[K${idsCL[White]}${idsST[Bold]}${SENSOR} Host Sensors ${idsST[Reset]}${idsCL[White]}[${vHOSTiDRACIP}]" - echo -en "${idsCL[LightCyan]} [FanSpeed=$(cat ${PW_TMPFOLDER}/.fanspeed.${SENSOR}.${cdt})'% AVG=${fan_average}'%)]${idsCL[Default]}" + echo -e "${idsCL[LightCyan]} [FanSpeed=$(cat ${PW_TMPFOLDER}/.fanspeed.${SENSOR}.${cdt})'% AVG=${fan_average}'%)]${idsCL[Default]}" else echo -e "($(IDS_NUMBER_FORMAT ${RPM})'RPM)]${idsCL[Default]}" @@ -178,9 +178,9 @@ CHECKTEMPSENSOR(){ if [ "${6}" != "noavg" ]; then [ "${6}" != "" ] && [[ "${6}" =~ ^[0-9]+$ ]] && avgdays=${6} || avgdays=3 if [ "${PW_SENSOR_TYPE[${1}]}" != "esxi" ]; then - average=$(AVERAGETEMP ${PW_SENSOR_ID[${1}]} ${avgdays}) + average=$(AVERAGETEMP ${1} ${avgdays}) else - average=$(AVERAGETEMP ${PW_SENSOR_ID[${1}]} ${avgdays} ${5}) + average=$(AVERAGETEMP ${1} ${avgdays} ${5}) fi else average='' @@ -305,7 +305,8 @@ CHECKTEMPSENSOR(){ AVERAGETEMP(){ temptotal=0 daysback=${2} - sensorid=${1} + sensor=${1} + sensorid=${PW_SENSOR_ID[${sensor}]} logsfound=0; if [ "${3}" != "" ]; then entityid=($(${mysql_conn} -e "SELECT id FROM servermonitor.entities WHERE BINARY name='${3}' AND sensorid='${sensorid}'")) @@ -316,14 +317,14 @@ AVERAGETEMP(){ fi [ $(bc -l <<< "${daysback} < 1") -eq 1 ] && interval="$(ROUND $(bc <<< "scale=2; ${daysback}*24*60")) HOUR" || interval="${daysback} MINUTE" while IFS=$'\t' read date temp hum speed ;do - if [ "${sensorid}" == "14" ] || [ "${sensorid}" == "19" ]; then + if [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]] || [ "${sensorid}" == "19" ]; then temptotal=$(bc <<< "scale=0; ${temptotal}+${speed}") else temptotal=$(bc <<< "scale=2; ${temptotal}+${temp}") fi ((logsfound++)) done < <(${mysql_conn} -se "USE servermonitor; SELECT date,temp,hum,speed from sensor_data WHERE ${WHERE} AND date BETWEEN DATE_SUB(DATE(NOW()), INTERVAL ${interval}) AND NOW() ORDER BY id DESC;") - if [ "${sensorid}" == "14" ] || [ "${sensorid}" == "19" ]; then + if [[ "${PW_ESXI_FANSPEEDCONTROL_HOSTS}" = *"${PW_HOST_IDRACS[${sensor}]}"* ]] || [ "${sensorid}" == "19" ]; then # average=$(bc <<< "scale=0; ${temptotal}/${logsfound}") average=$(ROUND_NUMBER $(bc <<< "scale=2; ${temptotal}/${logsfound}") 0) else @@ -880,12 +881,12 @@ SENDTEMP(){ if [ "${1}" != "" ]; then if [ "${PW_SENSOR_TYPE[${SENSORa}]}" == "esxi" ]; then - average1=$(AVERAGETEMP ${PW_SENSOR_ID[${SENSORa}]} 1 ${vSENSOR// /_}) - average7=$(AVERAGETEMP ${PW_SENSOR_ID[${SENSORa}]} 7 ${vSENSOR// /_}) + average1=$(AVERAGETEMP ${SENSORa} 1 ${vSENSOR// /_}) + average7=$(AVERAGETEMP ${SENSORa} 7 ${vSENSOR// /_}) # average7=0 else - average1=$(AVERAGETEMP ${PW_SENSOR_ID[${SENSORa}]} 1) - average7=$(AVERAGETEMP ${PW_SENSOR_ID[${SENSORa}]} 7) + average1=$(AVERAGETEMP ${SENSORa} 1) + average7=$(AVERAGETEMP ${SENSORa} 7) # average7=0 fi fi