mirror of
https://github.com/librenms/librenms.git
synced 2024-09-21 10:28:13 +00:00
newdevice: Added support for C&C Commander Plus units (#6478)
This commit is contained in:
parent
d0201a9437
commit
720177965b
BIN
html/images/logos/ccpower.png
Normal file
BIN
html/images/logos/ccpower.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
html/images/os/ccpower.png
Normal file
BIN
html/images/os/ccpower.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 KiB |
10
includes/definitions/commander-plus.yaml
Normal file
10
includes/definitions/commander-plus.yaml
Normal file
@ -0,0 +1,10 @@
|
||||
os: commander-plus
|
||||
text: 'C&C Power Commander plus'
|
||||
type: power
|
||||
icon: ccpower
|
||||
over:
|
||||
- { graph: device_bits, text: Traffic }
|
||||
mib_dir:
|
||||
- ccpower
|
||||
discovery:
|
||||
- sysObjectId: .1.3.6.1.4.1.18642.
|
31
includes/discovery/sensors/current/commander-plus.inc.php
Normal file
31
includes/discovery/sensors/current/commander-plus.inc.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* commander-plus.inc.php
|
||||
*
|
||||
* LibreNMS current discovery module for Commander Plus
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link http://librenms.org
|
||||
* @copyright 2017 Neil Lathwood
|
||||
* @author Neil Lathwood <gh+n@laf.io>
|
||||
*/
|
||||
|
||||
$current = snmp_get($device, 'batteryCurrent.0', '-Oqv', 'CCPOWER-MIB');
|
||||
$oid = '.1.3.6.1.4.1.18642.1.2.2.1.0';
|
||||
$descr = 'Battery current';
|
||||
$divisor = 1;
|
||||
$multiplier = 1;
|
||||
discover_sensor($valid['sensor'], 'current', $device, $oid, 'batteryCurrent', 'commander-plus', $descr, $divisor, $multiplier, null, null, null, null, $current);
|
55
includes/discovery/sensors/state/commander-plus.inc.php
Normal file
55
includes/discovery/sensors/state/commander-plus.inc.php
Normal file
@ -0,0 +1,55 @@
|
||||
<?php
|
||||
/**
|
||||
* commander-plus.inc.php
|
||||
*
|
||||
* LibreNMS state discovery module for Commander Plus
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link http://librenms.org
|
||||
* @copyright 2017 Neil Lathwood
|
||||
* @author Neil Lathwood <gh+n@laf.io>
|
||||
*/
|
||||
|
||||
$start_oid = '.1.3.6.1.4.1.18642.1.2.4';
|
||||
$state_table = snmpwalk_cache_oid($device, '.1.3.6.1.4.1.18642.1.2.4', array(), 'CCPOWER-MIB');
|
||||
$x = 1;
|
||||
foreach ($state_table[0] as $state_name => $state_value) {
|
||||
$state_index_id = create_state_index($state_name);
|
||||
//Create State Translation
|
||||
$states = array(
|
||||
array($state_index_id,'inactive',1,1,2),
|
||||
array($state_index_id,'active',1,2,0),
|
||||
);
|
||||
|
||||
foreach ($states as $value) {
|
||||
$insert = array(
|
||||
'state_index_id' => $value[0],
|
||||
'state_descr' => $value[1],
|
||||
'state_draw_graph' => $value[2],
|
||||
'state_value' => $value[3],
|
||||
'state_generic_value' => $value[4]
|
||||
);
|
||||
dbInsert($insert, 'state_translations');
|
||||
}
|
||||
$descr = $state_name;
|
||||
discover_sensor($valid['sensor'], 'state', $device, $start_oid.'.'.$x.'.0', $state_name, $state_name, $descr, '1', '1', null, null, null, null, $state_value, 'snmp');
|
||||
|
||||
//Create Sensor To State Index
|
||||
create_sensor_to_state_index($device, $state_name, $state_name);
|
||||
$x++;
|
||||
}
|
||||
|
||||
unset($state_table, $start_oid);
|
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
/**
|
||||
* commander-plus.inc.php
|
||||
*
|
||||
* LibreNMS temperature discovery module for Commander Plus
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* @package LibreNMS
|
||||
* @link http://librenms.org
|
||||
* @copyright 2017 Neil Lathwood
|
||||
* @author Neil Lathwood <gh+n@laf.io>
|
||||
*/
|
||||
|
||||
$current = snmp_get($device, 'batteryTemperature.0', '-Oqv', 'CCPOWER-MIB');
|
||||
$oid = '.1.3.6.1.4.1.18642.1.2.2.2.0';
|
||||
$descr = 'Battery temperature';
|
||||
$divisor = 1;
|
||||
$multiplier = 1;
|
||||
discover_sensor($valid['sensor'], 'temperature', $device, $oid, 'batteryTemperature', 'commander-plus', $descr, $divisor, $multiplier, null, null, null, null, $current);
|
1549
mibs/ccpower/CCPOWER-MIB
Normal file
1549
mibs/ccpower/CCPOWER-MIB
Normal file
File diff suppressed because it is too large
Load Diff
@ -474,6 +474,11 @@ class DiscoveryTest extends \PHPUnit_Framework_TestCase
|
||||
$this->checkOS('cometsystem-p85xx');
|
||||
}
|
||||
|
||||
public function testCommanderPlus()
|
||||
{
|
||||
$this->checkOS('commander-plus');
|
||||
}
|
||||
|
||||
public function testComware()
|
||||
{
|
||||
$this->checkOS('comware');
|
||||
|
2
tests/snmpsim/commander-plus.snmprec
Normal file
2
tests/snmpsim/commander-plus.snmprec
Normal file
@ -0,0 +1,2 @@
|
||||
1.3.6.1.2.1.1.1.0|4|Commander Controller Plus - Software Version 1.0
|
||||
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.18642.1
|
Loading…
Reference in New Issue
Block a user