From 0bb26b98003ab441c661f77abd0d8af156242295 Mon Sep 17 00:00:00 2001 From: mchasteen Date: Tue, 3 Mar 2015 16:04:46 -0700 Subject: [PATCH 1/2] Added temperature support for APC portable AC units. --- includes/discovery/temperatures/apc.inc.php | 78 +++++++++++++++++++++ 1 file changed, 78 insertions(+) diff --git a/includes/discovery/temperatures/apc.inc.php b/includes/discovery/temperatures/apc.inc.php index 8bd72bb5c..6e198aa61 100644 --- a/includes/discovery/temperatures/apc.inc.php +++ b/includes/discovery/temperatures/apc.inc.php @@ -74,6 +74,84 @@ if ($device['os'] == "apc") echo(discover_sensor($valid['sensor'], 'temperature', $device, $oid, '0', $sensorType, $descr, $divisor, '1', NULL, NULL, NULL, NULL, $current)); } } + + # Portable Air Conditioner + $set_oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.13.2.2.4.0", "-OsqnU", ""); + + $oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.13.2.2.10.0", "-OsqnU", ""); + if ($debug) { + echo($set_oids."\n"); + echo($oids."\n"); + } + + if ($oids) + { + echo("APC Portable Supply Temp "); + list($oid,$current_raw) = explode(' ',$oids); + $precision = 10; + $current = $current_raw / $precision; + $sensorType = "apc"; + $index = 0; + if ($set_oids) { + list(, $set_point_raw) = explode(' ',$set_oids); + $set_point = $set_point_raw / $precision; + $descr = "Supply Temp - Setpoint: ".$set_point."°C"; + } else { + $descr = "Supply Temperature"; + } + + discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, $sensorType, $descr, $precision, '1', NULL, NULL, NULL, NULL, $current); + } + + unset($oids); + $oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.13.2.2.12.0", "-OsqnU", ""); + if ($debug) { + echo($oids."\n"); + } + + if ($oids) + { + echo("APC Portable Return Temp "); + list($oid,$current_raw) = explode(' ',$oids); + $precision = 10; + $current = $current_raw / $precision; + $sensorType = "apc"; + $index = 1; + if ($set_oids) { + list(, $set_point_raw) = explode(' ',$set_oids); + $set_point = $set_point_raw / $precision; + $descr = "Return Temp - Setpoint: ".$set_point."°C"; + } else { + $descr = "Return Temperature"; + } + + discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, $sensorType, $descr, $precision, '1', NULL, NULL, NULL, NULL, $current); + } + + unset($oids); + $oids = snmp_get($device, "1.3.6.1.4.1.318.1.1.13.2.2.14.0", "-OsqnU", ""); + if ($debug) { + echo($oids."\n"); + } + + if ($oids) + { + echo("APC Portable Remote Temp "); + list($oid,$current_raw) = explode(' ',$oids); + $precision = 10; + $current = $current_raw / $precision; + $sensorType = "apc"; + $index = 2; + if ($set_oids) { + list(, $set_point_raw) = explode(' ',$set_oids); + $set_point = $set_point_raw / $precision; + $descr = "Remote Temp - Setpoint: ".$set_point."°C"; + } else { + $descr = "Remote Temperature"; + } + + discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, $sensorType, $descr, $precision, '1', NULL, NULL, NULL, NULL, $current); + } } ?> From 0df4a86a0a9549b70d31f2ee8e12239c5773c5dc Mon Sep 17 00:00:00 2001 From: mchasteen Date: Wed, 4 Mar 2015 14:24:31 -0700 Subject: [PATCH 2/2] Cleaned up for scrutinizer. --- includes/discovery/temperatures/apc.inc.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/includes/discovery/temperatures/apc.inc.php b/includes/discovery/temperatures/apc.inc.php index 6e198aa61..a8f031013 100644 --- a/includes/discovery/temperatures/apc.inc.php +++ b/includes/discovery/temperatures/apc.inc.php @@ -84,7 +84,7 @@ if ($device['os'] == "apc") echo($oids."\n"); } - if ($oids) + if ($oids !== false) { echo("APC Portable Supply Temp "); list($oid,$current_raw) = explode(' ',$oids); @@ -92,7 +92,7 @@ if ($device['os'] == "apc") $current = $current_raw / $precision; $sensorType = "apc"; $index = 0; - if ($set_oids) { + if ($set_oids !== false) { list(, $set_point_raw) = explode(' ',$set_oids); $set_point = $set_point_raw / $precision; $descr = "Supply Temp - Setpoint: ".$set_point."°C"; @@ -109,7 +109,7 @@ if ($device['os'] == "apc") echo($oids."\n"); } - if ($oids) + if ($oids !== false) { echo("APC Portable Return Temp "); list($oid,$current_raw) = explode(' ',$oids); @@ -117,7 +117,7 @@ if ($device['os'] == "apc") $current = $current_raw / $precision; $sensorType = "apc"; $index = 1; - if ($set_oids) { + if ($set_oids !== false) { list(, $set_point_raw) = explode(' ',$set_oids); $set_point = $set_point_raw / $precision; $descr = "Return Temp - Setpoint: ".$set_point."°C"; @@ -134,7 +134,7 @@ if ($device['os'] == "apc") echo($oids."\n"); } - if ($oids) + if ($oids !== false) { echo("APC Portable Remote Temp "); list($oid,$current_raw) = explode(' ',$oids); @@ -142,7 +142,7 @@ if ($device['os'] == "apc") $current = $current_raw / $precision; $sensorType = "apc"; $index = 2; - if ($set_oids) { + if ($set_oids !== false) { list(, $set_point_raw) = explode(' ',$set_oids); $set_point = $set_point_raw / $precision; $descr = "Remote Temp - Setpoint: ".$set_point."°C";