mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	newdevice: Added support for C&C Commander Plus units (#6478)
This commit is contained in:
		
				
					committed by
					
						
						Tony Murray
					
				
			
			
				
	
			
			
			
						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
 | 
			
		||||
		Reference in New Issue
	
	Block a user