mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
fix: Fixed Avtech sensor discovery (#7244)
$valid is no longer a global as it once was
This commit is contained in:
committed by
Neil Lathwood
parent
963ad16bdd
commit
21deb96d52
@@ -825,13 +825,13 @@ function check_entity_sensor($string, $device)
|
||||
* Helper function to improve readability
|
||||
* Can't use mib based polling, because the snmp implentation and mibs are terrible
|
||||
*
|
||||
* @param (device) array - device array
|
||||
* @param (sensor) array(id, oid, type, descr, descr_oid, min, max, divisor)
|
||||
* @param array $device device array
|
||||
* @param array $sensor array(id, oid, type, descr, descr_oid, min, max, divisor)
|
||||
* @param array $valid valid sensors array
|
||||
* @return bool
|
||||
*/
|
||||
function avtech_add_sensor($device, $sensor)
|
||||
function avtech_add_sensor($device, $sensor, &$valid)
|
||||
{
|
||||
global $valid;
|
||||
|
||||
// set the id, must be unique
|
||||
if (isset($sensor['id'])) {
|
||||
$id = $sensor['id'];
|
||||
@@ -851,6 +851,10 @@ function avtech_add_sensor($device, $sensor)
|
||||
}
|
||||
d_echo('Sensor oid: ' . $oid . "\n");
|
||||
|
||||
// get the type
|
||||
$type = $sensor['type'] ? $sensor['type'] : 'temperature';
|
||||
d_echo('Sensor type: ' . $type . "\n");
|
||||
|
||||
// get the sensor value
|
||||
$value = snmp_get($device, $oid, '-OvQ');
|
||||
// if the sensor doesn't exist abort
|
||||
@@ -861,10 +865,6 @@ function avtech_add_sensor($device, $sensor)
|
||||
}
|
||||
d_echo('Sensor value: ' . $value . "\n");
|
||||
|
||||
// get the type
|
||||
$type = $sensor['type'] ? $sensor['type'] : 'temperature';
|
||||
d_echo('Sensor type: ' . $type . "\n");
|
||||
|
||||
$type_name = $device['os'];
|
||||
if ($type == 'switch') {
|
||||
// set up state sensor
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
echo 'AVTECH: ';
|
||||
if (strpos($device['sysObjectID'], '.20916.1.9') !== false) {
|
||||
if (ends_with($device['sysObjectID'], '.20916.1.9')) {
|
||||
// RoomAlert 3E
|
||||
$device_oid = '.1.3.6.1.4.1.20916.1.9.';
|
||||
|
||||
@@ -11,8 +11,8 @@ if (strpos($device['sysObjectID'], '.20916.1.9') !== false) {
|
||||
'oid' => $device_oid.'1.2.1.0',
|
||||
'descr_oid' => $device_oid.'1.2.2.0',
|
||||
);
|
||||
avtech_add_sensor($device, $switch);
|
||||
} elseif (strpos($device['sysObjectID'], '.20916.1.6') !== false) {
|
||||
avtech_add_sensor($device, $switch, $valid);
|
||||
} elseif (ends_with($device['sysObjectID'], '.20916.1.6')) {
|
||||
// RoomAlert 4E
|
||||
$device_oid = '.1.3.6.1.4.1.20916.1.6.';
|
||||
|
||||
@@ -22,5 +22,5 @@ if (strpos($device['sysObjectID'], '.20916.1.9') !== false) {
|
||||
'oid' => $device_oid.'1.3.1.0',
|
||||
'descr_oid' => $device_oid.'1.3.2.0',
|
||||
);
|
||||
avtech_add_sensor($device, $switch);
|
||||
avtech_add_sensor($device, $switch, $valid);
|
||||
}
|
||||
|
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
|
||||
echo 'AVTECH: ';
|
||||
if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
if (ends_with($device['sysObjectID'], '.20916.1.7')) {
|
||||
// TemPageR 3E
|
||||
$device_oid = '.1.3.6.1.4.1.20916.1.7.';
|
||||
|
||||
@@ -10,22 +10,22 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'oid' => $device_oid.'1.1.1.1.0',
|
||||
'descr_oid' => $device_oid.'1.1.2.0',
|
||||
);
|
||||
avtech_add_sensor($device, $internal);
|
||||
avtech_add_sensor($device, $internal, $valid);
|
||||
|
||||
$sen1 = array(
|
||||
'id' => 1,
|
||||
'oid' => $device_oid.'1.2.1.1.0',
|
||||
'descr_oid' => $device_oid.'1.2.1.3.0',
|
||||
);
|
||||
avtech_add_sensor($device, $sen1);
|
||||
avtech_add_sensor($device, $sen1, $valid);
|
||||
|
||||
$sen2 = array(
|
||||
'id' => 2,
|
||||
'oid' => $device_oid.'1.2.2.1.0',
|
||||
'descr_oid' => $device_oid.'1.2.2.3.0',
|
||||
);
|
||||
avtech_add_sensor($device, $sen2);
|
||||
} elseif (strpos($device['sysObjectID'], '.20916.1.9') !== false) {
|
||||
avtech_add_sensor($device, $sen2, $valid);
|
||||
} elseif (ends_with($device['sysObjectID'], '.20916.1.9')) {
|
||||
// RoomAlert 3E
|
||||
$device_oid = '.1.3.6.1.4.1.20916.1.9.';
|
||||
|
||||
@@ -34,15 +34,15 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'oid' => $device_oid.'1.1.1.1.0',
|
||||
'descr_oid' => $device_oid.'1.1.1.3.0',
|
||||
);
|
||||
avtech_add_sensor($device, $internal);
|
||||
avtech_add_sensor($device, $internal, $valid);
|
||||
|
||||
$sen1 = array(
|
||||
'id' => 1,
|
||||
'oid' => $device_oid.'1.1.2.1.0',
|
||||
'descr_oid' => $device_oid.'1.1.2.6.0',
|
||||
);
|
||||
avtech_add_sensor($device, $sen1);
|
||||
} elseif (strpos($device['sysObjectID'], '.20916.1.1') !== false) {
|
||||
avtech_add_sensor($device, $sen1, $valid);
|
||||
} elseif (ends_with($device['sysObjectID'], '.20916.1.1')) {
|
||||
// TemPageR 4E
|
||||
$device_oid = '.1.3.6.1.4.1.20916.1.1.';
|
||||
|
||||
@@ -53,7 +53,7 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'max_oid' => $device_oid.'3.1.0',
|
||||
'min_oid' => $device_oid.'3.2.0',
|
||||
);
|
||||
avtech_add_sensor($device, $internal);
|
||||
avtech_add_sensor($device, $internal, $valid);
|
||||
|
||||
$sen1 = array(
|
||||
'id' => 1,
|
||||
@@ -62,7 +62,7 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'max_oid' => $device_oid.'3.3.0',
|
||||
'min_oid' => $device_oid.'3.4.0',
|
||||
);
|
||||
avtech_add_sensor($device, $sen1);
|
||||
avtech_add_sensor($device, $sen1, $valid);
|
||||
|
||||
$sen2 = array(
|
||||
'id' => 2,
|
||||
@@ -71,7 +71,7 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'max_oid' => $device_oid.'3.5.0',
|
||||
'min_oid' => $device_oid.'3.6.0',
|
||||
);
|
||||
avtech_add_sensor($device, $sen2);
|
||||
avtech_add_sensor($device, $sen2, $valid);
|
||||
|
||||
$sen3 = array(
|
||||
'id' => 3,
|
||||
@@ -80,8 +80,8 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'max_oid' => $device_oid.'3.7.0',
|
||||
'min_oid' => $device_oid.'3.8.0',
|
||||
);
|
||||
avtech_add_sensor($device, $sen3);
|
||||
} elseif (strpos($device['sysObjectID'], '.20916.1.6') !== false) {
|
||||
avtech_add_sensor($device, $sen3, $valid);
|
||||
} elseif (ends_with($device['sysObjectID'], '.20916.1.6')) {
|
||||
// RoomAlert 4E
|
||||
$device_oid = '.1.3.6.1.4.1.20916.1.6.';
|
||||
$divisor = 1;
|
||||
@@ -92,7 +92,7 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'descr_oid' => $device_oid.'1.1.2.1.0',
|
||||
'divisor' => $divisor,
|
||||
);
|
||||
avtech_add_sensor($device, $internal);
|
||||
avtech_add_sensor($device, $internal, $valid);
|
||||
|
||||
$sen1 = array(
|
||||
'id' => 1,
|
||||
@@ -100,7 +100,7 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'descr_oid' => $device_oid.'1.2.1.6.0',
|
||||
'divisor' => $divisor,
|
||||
);
|
||||
avtech_add_sensor($device, $sen1);
|
||||
avtech_add_sensor($device, $sen1, $valid);
|
||||
|
||||
$sen2 = array(
|
||||
'id' => 2,
|
||||
@@ -108,5 +108,5 @@ if (strpos($device['sysObjectID'], '.20916.1.7') !== false) {
|
||||
'descr_oid' => $device_oid.'1.2.2.6.0',
|
||||
'divisor' => $divisor,
|
||||
);
|
||||
avtech_add_sensor($device, $sen2);
|
||||
avtech_add_sensor($device, $sen2, $valid);
|
||||
}
|
||||
|
Reference in New Issue
Block a user