diff --git a/defaults.inc b/defaults.inc index 80f4556d..0acb1f4e 100755 --- a/defaults.inc +++ b/defaults.inc @@ -1,5 +1,5 @@ -VERS='2.3.252-12012023' +VERS='2.3.253-12012023' noheader=' update service dailytemp ' diff --git a/powerwall.sh b/powerwall.sh index 24f759d5..bf1c2cfe 100755 --- a/powerwall.sh +++ b/powerwall.sh @@ -1001,14 +1001,17 @@ POWERLOGGER_SERVICE(){ IFS=$'\n' read -rd '' -a HOST_WATT_SENSORS <<<"${HOST_WATT_SENSORS}" unset IFS - s=1 - for ss in "${HOST_WATT_SENSORS[@]}"; do - [[ "${ss}" = *"System Board"* ]] && break || ((s++)) - done - HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //') - QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`watt\`) VALUES ('${PW_POWERSENSOR_ID[${SENSOR}]}','${LogDataTime}','${HOST_WATTS}')" - ${mysql_conn} -e "USE servermonitor; ${QRY}" + for s in {1..5}; do + if [[ "$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.8.1.${s} | sed 's/.*: //')" = *"System Board"* ]]; then + HOST_WATTS=$(snmpwalk -t 1 -r 0 -v 1 -c public ${PW_HOST_IDRACS[${SENSOR}]} iso.3.6.1.4.1.674.10892.5.4.600.30.1.6.1.${s} | sed 's/.*: //') + if [[ "${HOST_WATTS}" != *"Timeout"* ]] && [ "${HOST_WATTS}" != "0" ]; then + QRY="INSERT INTO power_data (\`sensorid\`, \`date\`, \`watt\`) VALUES ('${PW_POWERSENSOR_ID[${SENSOR}]}','${LogDataTime}','${HOST_WATTS}')" + ${mysql_conn} -e "USE servermonitor; ${QRY}" + fi + break + fi + done fi fi done