2016-07-21 14:28:36 -05:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* LibreNMS Calix E5-1xx Temperature Discovery module
|
|
|
|
*
|
|
|
|
* Copyright (c) 2016 Chris A. Evans <thecityofguanyu@outlook.com>
|
|
|
|
*
|
|
|
|
* This program is free software: you can redistribute it and/or modify it
|
|
|
|
* under the terms of the GNU General Public License as published by the
|
|
|
|
* Free Software Foundation, either version 3 of the License, or (at your
|
|
|
|
* option) any later version. Please see LICENSE.txt at the top level of
|
|
|
|
* the source code distribution for details.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2016-07-23 16:01:17 -05:00
|
|
|
if (strstr($sysObjectId, '.6321.1.2.3')) { // E5-1xx Series
|
2016-07-21 14:28:36 -05:00
|
|
|
echo 'Calix E5: ';
|
|
|
|
|
|
|
|
if (strpos($device['sysObjectID'], 'enterprises.6321.1.2.3.4') !== false) { // E5-121
|
2016-07-23 16:01:17 -05:00
|
|
|
$oids = snmp_walk($device, 'iesSysTempCurValue', '-Osqn', 'E5-121-IESCOMMON-MIB', '+'.$config['install_dir'].'/mibs/calix');
|
2016-07-21 14:28:36 -05:00
|
|
|
$oids = trim($oids);
|
|
|
|
$oids = str_replace('.1.3.6.1.4.1.6321.1.2.3.4.98.2.3.1.2.', '', $oids);
|
|
|
|
foreach (explode("\n", $oids) as $data) {
|
|
|
|
$data = trim($data);
|
|
|
|
if ($data != '') {
|
|
|
|
list($oid) = explode(' ', $data);
|
|
|
|
$temperature_oid = ".1.3.6.1.4.1.6321.1.2.3.4.98.2.3.1.2.$oid";
|
|
|
|
$descr_oid = ".1.3.6.1.4.1.6321.1.2.3.4.98.2.3.1.6.$oid";
|
|
|
|
$descr = snmp_get($device, $descr_oid, '-Oqv', '');
|
|
|
|
$temperature = snmp_get($device, $temperature_oid, '-Oqv', '');
|
|
|
|
$descr = str_replace('"', '', $descr);
|
|
|
|
$current = $temperature;
|
|
|
|
|
2016-07-23 16:01:17 -05:00
|
|
|
discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $oid, 'calix', $descr, '1', '1', null, null, null, null, $current);
|
2016-07-21 14:28:36 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strpos($device['sysObjectID'], 'enterprises.6321.1.2.3.3') !== false) { // E5-120
|
2016-07-23 16:01:17 -05:00
|
|
|
$oids = snmp_walk($device, 'iesSysTempCurValue', '-Osqn', 'E5-120-IESCOMMON-MIB', '+'.$config['install_dir'].'/mibs/calix');
|
2016-07-21 14:28:36 -05:00
|
|
|
$oids = trim($oids);
|
|
|
|
$oids = str_replace('.1.3.6.1.4.1.6321.1.2.3.3.98.2.3.1.2.', '', $oids);
|
|
|
|
foreach (explode("\n", $oids) as $data) {
|
|
|
|
$data = trim($data);
|
|
|
|
if ($data != '') {
|
|
|
|
list($oid) = explode(' ', $data);
|
|
|
|
$temperature_oid = ".1.3.6.1.4.1.6321.1.2.3.3.98.2.3.1.2.$oid";
|
|
|
|
$descr_oid = ".1.3.6.1.4.1.6321.1.2.3.3.98.2.3.1.6.$oid";
|
|
|
|
$descr = snmp_get($device, $descr_oid, '-Oqv', '');
|
|
|
|
$temperature = snmp_get($device, $temperature_oid, '-Oqv', '');
|
|
|
|
$descr = str_replace('"', '', $descr);
|
|
|
|
$current = $temperature;
|
|
|
|
|
2016-07-23 16:01:17 -05:00
|
|
|
discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $oid, 'calix', $descr, '1', '1', null, null, null, null, $current);
|
2016-07-21 14:28:36 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (strpos($device['sysObjectID'], 'enterprises.6321.1.2.3.2') !== false) { // E5-111
|
2016-07-23 16:01:17 -05:00
|
|
|
$oids = snmp_walk($device, 'iesSysTempCurValue', '-Osqn', 'E5-111-IESCOMMON-MIB', '+'.$config['install_dir'].'/mibs/calix');
|
2016-07-21 14:28:36 -05:00
|
|
|
$oids = trim($oids);
|
|
|
|
$oids = str_replace('.1.3.6.1.4.1.6321.1.2.3.2.98.2.3.1.2.', '', $oids);
|
|
|
|
foreach (explode("\n", $oids) as $data) {
|
|
|
|
$data = trim($data);
|
|
|
|
if ($data != '') {
|
|
|
|
list($oid) = explode(' ', $data);
|
|
|
|
$temperature_oid = ".1.3.6.1.4.1.6321.1.2.3.2.98.2.3.1.2.$oid";
|
|
|
|
$descr_oid = ".1.3.6.1.4.1.6321.1.2.3.2.98.2.3.1.6.$oid";
|
|
|
|
$descr = snmp_get($device, $descr_oid, '-Oqv', '');
|
|
|
|
$temperature = snmp_get($device, $temperature_oid, '-Oqv', '');
|
|
|
|
$descr = str_replace('"', '', $descr);
|
|
|
|
$current = $temperature;
|
|
|
|
|
2016-07-23 16:01:17 -05:00
|
|
|
discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $oid, 'calix', $descr, '1', '1', null, null, null, null, $current);
|
2016-07-21 14:28:36 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (strpos($device['sysObjectID'], 'enterprises.6321.1.2.3.1') !== false) { // E5-110
|
2016-07-23 16:01:17 -05:00
|
|
|
$oids = snmp_walk($device, 'iesSysTempCurValue', '-Osqn', 'E5-110-IESCOMMON-MIB', '+'.$config['install_dir'].'/mibs/calix');
|
2016-07-21 14:28:36 -05:00
|
|
|
$oids = trim($oids);
|
|
|
|
$oids = str_replace('.1.3.6.1.4.1.6321.1.2.3.1.98.2.3.1.2.', '', $oids);
|
|
|
|
foreach (explode("\n", $oids) as $data) {
|
|
|
|
$data = trim($data);
|
|
|
|
if ($data != '') {
|
|
|
|
list($oid) = explode(' ', $data);
|
|
|
|
$temperature_oid = ".1.3.6.1.4.1.6321.1.2.3.1.98.2.3.1.2.$oid";
|
|
|
|
$descr_oid = ".1.3.6.1.4.1.6321.1.2.3.1.98.2.3.1.6.$oid";
|
|
|
|
$descr = snmp_get($device, $descr_oid, '-Oqv', '');
|
|
|
|
$temperature = snmp_get($device, $temperature_oid, '-Oqv', '');
|
|
|
|
$descr = str_replace('"', '', $descr);
|
|
|
|
$current = $temperature;
|
|
|
|
|
2016-07-23 16:01:17 -05:00
|
|
|
discover_sensor($valid['sensor'], 'temperature', $device, $temperature_oid, $oid, 'calix', $descr, '1', '1', null, null, null, null, $current);
|
2016-07-21 14:28:36 -05:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|