From 75e9a0fb270d75b7bb6c056fd3d303960c2fc3d1 Mon Sep 17 00:00:00 2001 From: Rasmus Aberg Date: Tue, 21 Jul 2015 13:39:53 +0200 Subject: [PATCH] added a fix to round limit values to avoid limits being updated on every discovery since a change of 1rpm in current rpm would cause a new limit since limits are based on the current value --- includes/discovery/fanspeeds/extreme.inc.php | 25 ++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/includes/discovery/fanspeeds/extreme.inc.php b/includes/discovery/fanspeeds/extreme.inc.php index cd11b11d0..8897cf563 100644 --- a/includes/discovery/fanspeeds/extreme.inc.php +++ b/includes/discovery/fanspeeds/extreme.inc.php @@ -1,6 +1,17 @@ = 50) { + $ret = $val + (100-$diff); + } else { + $ret = $val - $diff; + } + return $ret; + } + echo(" EXTREME-BASE-MIB "); // Fan Speed @@ -13,13 +24,13 @@ if ($device['os'] == 'xos') { $index = $matches[1]; // substract 100 from index to start from 1 instead of 101 $modindex = ($index - 100); - $oid = "1.3.6.1.4.1.1916.1.1.1.9.1.4.$index"; - $value = snmp_get($device, $oid, '-Oqv', 'EXTREME-BASE-MIB'); - $descr = "Fan Speed $modindex"; - $high_limit = ($value * 1.5); - $high_warn_limit = ($value * 1.25); - $low_warn_limit = ($value * 0.75); - $low_limit = ($value * 0.5); + $oid = "1.3.6.1.4.1.1916.1.1.1.9.1.4.$index"; + $value = snmp_get($device, $oid, '-Oqv', 'EXTREME-BASE-MIB'); + $descr = "Fan Speed $modindex"; + $high_limit = roundme($value * 1.5); + $high_warn_limit = roundme($value * 1.25); + $low_warn_limit = roundme($value * 0.75); + $low_limit = roundme($value * 0.5); if (is_numeric($value)) { discover_sensor($valid['sensor'], 'fanspeed', $device, $oid, $index, 'extreme-fanspeed', $descr, '1', '1', $low_limit, $low_warn_limit, $high_warn_limit, $high_limit, $value); }