Files
librenms-librenms/includes/discovery/sensors/runtime/apc.inc.php
InfraTeam 579bfd4c3e 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
2017-07-15 11:44:56 +01:00

80 lines
3.7 KiB
PHP

<?php
$oids = snmp_get($device, '.1.3.6.1.4.1.318.1.1.1.2.2.3.0', '-OsqnUt', '');
d_echo($oids."\n");
if ($oids) {
echo ' APC Runtime ';
list($oid,$current) = explode(' ', $oids);
$divisor = 6000;
$type = 'apc';
$index = 'upsAdvBatteryRunTimeRemaining.0';
$descr = 'Runtime';
$low_limit = 5;
$low_limit_warn = 10;
$warn_limit = 2000;
$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);
}