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:
InfraTeam
2017-07-15 12:44:56 +02:00
committed by Neil Lathwood
parent 294ec4d73d
commit 579bfd4c3e
3 changed files with 130 additions and 2 deletions

View File

@@ -238,3 +238,69 @@ modules:
index: 'airIRRP100UnitStatusHumidifierCurrent.{{ $index }}'
descr: Humidifier
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

View File

@@ -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);
}