fix: fix Liebert humidity and temp sensors #6196 (#6198)

* fixed liebert humidity and temp sensors #6196

* fix temperature and humidity
This commit is contained in:
Neil Lathwood
2017-03-15 03:20:17 +00:00
committed by Tony Murray
parent 605b9d2092
commit 004556dc01
2 changed files with 31 additions and 19 deletions

View File

@@ -26,14 +26,25 @@
$lib_data = snmpwalk_cache_oid($device, 'lgpEnvHumidityEntryRel', array(), 'LIEBERT-GP-ENVIRONMENTAL-MIB');
foreach ($lib_data as $index => $data) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.2.2.3.1.3.' . $index;
$descr = $data['lgpEnvHumidityDescrRel'];
$low_limit = $data['lgpEnvHumidityLowThresholdRel'];
$high_limit = $data['lgpEnvHumidityHighThresholdRel'];
$current = $data['lgpEnvHumidityMeasurementRel'];
$new_index = 'lgpEnvHumidityMeasurementRel.' . $index;
if (is_numeric($data['lgpEnvHumidityMeasurementRelTenths'])) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.2.2.3.1.50.' . $index;
$low_limit = $data['lgpEnvHumidityLowThresholdRelTenths'];
$high_limit = $data['lgpEnvHumidityHighThresholdRelTenths'];
$current = $data['lgpEnvHumidityMeasurementRelTenths'];
$divisor = 10;
$new_index = 'lgpEnvHumidityMeasurementRelTenths.' . $index;
} elseif (is_numeric($data['lgpEnvHumidityMeasurementRel'])) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.2.2.3.1.3.' . $index;
$low_limit = $data['lgpEnvHumidityLowThresholdRel'];
$high_limit = $data['lgpEnvHumidityHighThresholdRel'];
$current = $data['lgpEnvHumidityMeasurementRel'];
$divisor = 1;
$new_index = 'lgpEnvHumidityMeasurementRel.' . $index;
}
if (is_numeric($current)) {
discover_sensor($valid['sensor'], 'humidity', $device, $oid, $new_index, 'liebert', $descr, $divisor, '1', $low_limit, null, null, $high_limit, $current);
$descr = $data['lgpEnvHumidityDescrRel'];
discover_sensor($valid['sensor'], 'humidity', $device, $oid, $new_index, 'liebert', $descr, $divisor, 1, $low_limit, null, null, $high_limit, $current / $divisor);
}
}
@@ -53,7 +64,7 @@ if (is_numeric($return_humidity)) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.2.1.2.0';
$index = 'lgpEnvReturnAirHumidity.0';
$descr = 'Return Air Humidity';
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, 'liebert', $descr, $divisor, '1', null, null, null, null, $return_humidity);
discover_sensor($valid['sensor'], 'humidity', $device, $oid, $index, 'liebert', $descr, $divisor, '1', null, null, null, null, $return_humidity);
}
$supply_humidity = snmp_get($device, 'lgpEnvSupplyAirHumidity.0', '-Oqv');
@@ -61,5 +72,5 @@ if (is_numeric($supply_humidity)) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.2.1.3.0';
$index = 'lgpEnvSupplyAirHumidity.0';
$descr = 'Supply Air Humidity';
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, 'liebert', $descr, $divisor, '1', null, null, null, null, $supply_humidity);
discover_sensor($valid['sensor'], 'humidity', $device, $oid, $index, 'liebert', $descr, $divisor, '1', null, null, null, null, $supply_humidity);
}

View File

@@ -28,15 +28,13 @@ $lib_data = snmpwalk_cache_oid($device, 'lgpEnvTemperatureEntryDegC', array(), '
foreach ($lib_data as $index => $data) {
if (is_numeric($data['lgpEnvTemperatureMeasurementTenthsDegC'])) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.1.3.3.1.50.' . $index;
$descr = $data['lgpEnvTemperatureDescrDegC'];
$low_limit = $data['lgpEnvTemperatureLowThresholdTenthsDegC'];
$high_limit = $data['lgpEnvTemperatureHighThresholdTenthsDegC'];
$current = $data['lgpEnvTemperatureMeasurementTenthsDegC'];
$divisor = 0.1;
$divisor = 10;
$new_index = 'lgpEnvTemperatureMeasurementTenthsDegC.' . $index;
} elseif (is_numeric($data['lgpEnvTemperatureMeasurementDegC'])) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.1.3.3.1.3.' . $index;
$descr = $data['lgpEnvTemperatureDescrDegC'];
$low_limit = $data['lgpEnvTemperatureLowThresholdDegC'];
$high_limit = $data['lgpEnvTemperatureHighThresholdDegC'];
$current = $data['lgpEnvTemperatureMeasurementDegC'];
@@ -44,7 +42,8 @@ foreach ($lib_data as $index => $data) {
$new_index = 'lgpEnvTemperatureDescrDegC.' . $index;
}
if (is_numeric($current)) {
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $new_index, 'liebert', $descr, $divisor, '1', $low_limit, null, null, $high_limit, $current);
$descr = $data['lgpEnvTemperatureDescrDegC'];
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $new_index, 'liebert', $descr, $divisor, 1, $low_limit, null, null, $high_limit, $current / $divisor);
}
}
@@ -61,16 +60,18 @@ unset(
$return_temp = snmp_get($device, 'lgpEnvReturnAirTemperature.0', '-Oqv');
if (is_numeric($return_temp)) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.1.1.2.0';
$index = 'lgpEnvReturnAirTemperature.0';
$descr = 'Return Air Temp';
$oid = '.1.3.6.1.4.1.476.1.42.3.4.1.1.2.0';
$index = 'lgpEnvReturnAirTemperature.0';
$descr = 'Return Air Temp';
$divisor = 1;
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, 'liebert', $descr, $divisor, '1', null, null, null, null, $return_temp);
}
$supply_temp = snmp_get($device, 'lgpEnvSupplyAirTemperature.0', '-Oqv');
if (is_numeric($supply_temp)) {
$oid = '.1.3.6.1.4.1.476.1.42.3.4.1.1.3.0';
$index = 'lgpEnvSupplyAirTemperature.0';
$descr = 'Supply Air Temp';
$oid = '.1.3.6.1.4.1.476.1.42.3.4.1.1.3.0';
$index = 'lgpEnvSupplyAirTemperature.0';
$descr = 'Supply Air Temp';
$divisor = 1;
discover_sensor($valid['sensor'], 'temperature', $device, $oid, $index, 'liebert', $descr, $divisor, '1', null, null, null, null, $supply_temp);
}