mirror of
				https://github.com/librenms/librenms.git
				synced 2024-10-07 16:52:45 +00:00 
			
		
		
		
	newdevice: Added additional sensors for APC IRRP100 Air Conditionner series (#7006)
* Added detection for Hirschmann Railswitch * Update AUTHORS.md I agree to the conditions of the Contributor Agreement contained in doc/General/Contributing.md. * Fixes for PR 6207 requested changes * Fixes for PR 6207 requested changes * Fixes for PR 6207 requested changes * Fix for PR 6207 requested changes * Fix for PR 6207 requested changes * Synchro Fork * Synchro Fork * Added additional sensors for APC IRRP100 Air conditionner series * Updated apc.yaml @laf I modified the yaml file according to your comment. I forgot the index line in a few definitions... * Rollback hirschmann.inc.php to original file * Roolback to original hirschmann.inc.php file * Updated apc.yaml file to include data section * Update apc.yaml * Update apc.yaml * Updated apc.inc.php after @laf requests Modified $current calculation, including $multiplier in place of static value and added 'PowerNet-MIB' as an argument of the snmp_get function (detached from OID writing) * missing new line * reverted hirschmann updates * reverted hirschmann updates
This commit is contained in:
		@@ -237,4 +237,70 @@ modules:
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.2.2.2.33.
 | 
			
		||||
                    index: 'airIRRP100UnitStatusHumidifierCurrent.{{ $index }}'
 | 
			
		||||
                    descr: Humidifier
 | 
			
		||||
                    divisor: 10
 | 
			
		||||
                    divisor: 10
 | 
			
		||||
        fanspeed:
 | 
			
		||||
            data:
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP100UnitStatusFanSpeed
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.1.2.2.12.
 | 
			
		||||
                    index: 'airIRRP100UnitStatusFanSpeed.{{ $index }}'
 | 
			
		||||
                    descr: 'Fan Speed (%)'
 | 
			
		||||
                    divisor: 10
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP500UnitStatusFanSpeed
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.2.2.2.12.
 | 
			
		||||
                    index: 'airIRRP500UnitStatusFanSpeed.{{ $index }}'
 | 
			
		||||
                    descr: 'Fan Speed (%)'
 | 
			
		||||
                    divisor: 10
 | 
			
		||||
        frequency:
 | 
			
		||||
            data:
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP100UnitStatusCompressorDriveSpeed
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.1.2.2.35.
 | 
			
		||||
                    index: 'airIRRP100UnitStatusCompressorDriveSpeed.{{ $index }}'
 | 
			
		||||
                    descr: 'Drive Speed'
 | 
			
		||||
                    divisor: 10
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP500UnitStatusCompressorDriveSpeed
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.2.2.2.35.
 | 
			
		||||
                    index: 'airIRRP500UnitStatusCompressorDriveSpeed.{{ $index }}'
 | 
			
		||||
                    descr: 'Drive Speed'
 | 
			
		||||
                    divisor: 10
 | 
			
		||||
        power:
 | 
			
		||||
            data:
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP100UnitStatusCompressorDrivePower
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.1.2.2.35.
 | 
			
		||||
                    index: 'airIRRP100UnitStatusCompressorDrivePower.{{ $index }}'
 | 
			
		||||
                    descr: 'Drive Power'
 | 
			
		||||
                    multiplier: 10
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP100UnitStatusCoolDemand
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.1.2.2.13.
 | 
			
		||||
                    index: 'airIRRP100UnitStatusCoolDemand.{{ $index }}'
 | 
			
		||||
                    descr: 'Cooling Demand'
 | 
			
		||||
                    multiplier: 100
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP100UnitStatusCoolOutput
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.1.2.2.14.
 | 
			
		||||
                    index: 'airIRRP100UnitStatusCoolOutput.{{ $index }}'
 | 
			
		||||
                    descr: 'Cooling Output'
 | 
			
		||||
                    multiplier: 100
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP500UnitStatusCompressorDrivePower
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.2.2.2.35.
 | 
			
		||||
                    index: 'airIRRP500UnitStatusCompressorDrivePower.{{ $index }}'
 | 
			
		||||
                    descr: 'Drive Power'
 | 
			
		||||
                    multiplier: 10
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP500UnitStatusCoolDemand
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.2.2.2.13.
 | 
			
		||||
                    index: 'airIRRP500UnitStatusCoolDemand.{{ $index }}'
 | 
			
		||||
                    descr: 'Cooling Demand'
 | 
			
		||||
                    multiplier: 100
 | 
			
		||||
                -
 | 
			
		||||
                    oid: airIRRP500UnitStatusCoolOutput
 | 
			
		||||
                    num_oid: .1.3.6.1.4.1.318.1.1.13.3.3.2.2.2.14.
 | 
			
		||||
                    index: 'airIRRP500UnitStatusCoolOutput.{{ $index }}'
 | 
			
		||||
                    descr: 'Cooling Output'
 | 
			
		||||
                    multiplier: 100
 | 
			
		||||
@@ -15,3 +15,65 @@ if ($oids) {
 | 
			
		||||
    $high_limit         = 3000;
 | 
			
		||||
    discover_sensor($valid['sensor'], 'runtime', $device, $oid, $index, $type, $descr, $divisor, '1', $low_limit, $low_limit_warn, $warn_limit, $high_limit, $current);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// InRow IRRP100
 | 
			
		||||
$oids = snmp_get($device, 'airIRRP100GroupSetpointsCoolMetric.0', '-OsqnU', 'PowerNet-MIB');
 | 
			
		||||
if ($oids) {
 | 
			
		||||
    echo 'APC InRow IRRP100 ';
 | 
			
		||||
    // airIRRP100UnitRunHoursAirFilter
 | 
			
		||||
    $index = 0;
 | 
			
		||||
    $cur_oid = '.1.3.6.1.4.1.318.1.1.13.3.3.1.2.3.1.';
 | 
			
		||||
    $current = snmp_get($device, 'airIRRP100UnitRunHoursAirFilter.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $service_interval = snmp_get($device, 'airIRRP100UnitServiceIntervalAirFilter.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $alarm_status= snmp_get($device, 'airIRRP100UnitServiceIntervalAirFilterAlarm.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $multiplier = 60;
 | 
			
		||||
    $current = ($current * $multiplier);
 | 
			
		||||
    if ($alarm_status == 'enable') {
 | 
			
		||||
        $service_interval = ($service_interval * 10080);
 | 
			
		||||
    } else {
 | 
			
		||||
        $service_interval = null;
 | 
			
		||||
    }
 | 
			
		||||
    $descr = 'Filter';
 | 
			
		||||
    $sensorType = 'apc';
 | 
			
		||||
 | 
			
		||||
    discover_sensor($valid['sensor'], 'runtime', $device, $cur_oid.$index, 'airIRRP100UnitRunHoursAirFilter.'.$index, $sensorType, $descr, '1', $multiplier, null, null, null, $service_interval, $current);
 | 
			
		||||
 | 
			
		||||
    // airIRRP100UnitRunHoursFan1
 | 
			
		||||
    $index = 0;
 | 
			
		||||
    $cur_oid = '.1.3.6.1.4.1.318.1.1.13.3.3.1.2.3.4.';
 | 
			
		||||
    $current = snmp_get($device, 'airIRRP100UnitRunHoursFan1.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $service_interval = snmp_get($device, 'airIRRP100UnitServiceIntervalFans.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $multiplier = 60;
 | 
			
		||||
    $current = ($current * $multiplier);
 | 
			
		||||
    $service_interval = ($service_interval * 10080);
 | 
			
		||||
    $descr = 'Fan 1';
 | 
			
		||||
    $sensorType = 'apc';
 | 
			
		||||
 | 
			
		||||
    discover_sensor($valid['sensor'], 'runtime', $device, $cur_oid.$index, 'airIRRP100UnitRunHoursFan1.'.$index, $sensorType, $descr, '1', $multiplier, null, null, null, $service_interval, $current);
 | 
			
		||||
 | 
			
		||||
    // airIRRP100UnitRunHoursFan2
 | 
			
		||||
    $index = 0;
 | 
			
		||||
    $cur_oid = '.1.3.6.1.4.1.318.1.1.13.3.3.1.2.3.6.';
 | 
			
		||||
    $current = snmp_get($device, 'airIRRP100UnitRunHoursFan2.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $service_interval = snmp_get($device, 'airIRRP100UnitServiceIntervalFans.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $multiplier = 60;
 | 
			
		||||
    $current = ($current * $multiplier);
 | 
			
		||||
    $service_interval = ($service_interval * 10080);
 | 
			
		||||
    $descr = 'Fan 2';
 | 
			
		||||
    $sensorType = 'apc';
 | 
			
		||||
 | 
			
		||||
    discover_sensor($valid['sensor'], 'runtime', $device, $cur_oid.$index, 'airIRRP100UnitRunHoursFan2.'.$index, $sensorType, $descr, '1', $multiplier, null, null, null, $service_interval, $current);
 | 
			
		||||
 | 
			
		||||
    // airIRRP100UnitRunHoursCompressor
 | 
			
		||||
    $index = 0;
 | 
			
		||||
    $cur_oid = '.1.3.6.1.4.1.318.1.1.13.3.3.1.2.3.8.';
 | 
			
		||||
    $current = snmp_get($device, 'airIRRP100UnitRunHoursCompressor.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $service_interval = snmp_get($device, 'airIRRP100UnitServiceIntervalCompressor.'.$index, '-Oqv', 'PowerNet-MIB');
 | 
			
		||||
    $multiplier = 60;
 | 
			
		||||
    $current = ($current * $multiplier);
 | 
			
		||||
    $service_interval = ($service_interval * 10080);
 | 
			
		||||
    $descr = 'Compressor';
 | 
			
		||||
    $sensorType = 'apc';
 | 
			
		||||
 | 
			
		||||
    discover_sensor($valid['sensor'], 'runtime', $device, $cur_oid.$index, 'airIRRP100UnitRunHoursCompressor.'.$index, $sensorType, $descr, '1', $multiplier, null, null, null, $service_interval, $current);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user