75 lines
2.2 KiB
PHP
75 lines
2.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* Observium
|
|
*
|
|
* This file is part of Observium.
|
|
*
|
|
* @package observium
|
|
* @subpackage discovery
|
|
* @copyright (C) Adam Armstrong
|
|
*
|
|
*/
|
|
|
|
/**
|
|
* STE-MIB::sensIndex.1 = INTEGER: 26518
|
|
* STE-MIB::sensIndex.2 = INTEGER: 29068
|
|
* STE-MIB::sensName.1 = STRING: "Sensor 26518"
|
|
* STE-MIB::sensName.2 = STRING: "Sensor 29068"
|
|
* STE-MIB::sensState.1 = INTEGER: normal(1)
|
|
* STE-MIB::sensState.2 = INTEGER: alarmlo(4)
|
|
* STE-MIB::sensString.1 = STRING: "19.6"
|
|
* STE-MIB::sensString.2 = STRING: "26.1"
|
|
* STE-MIB::sensValue.1 = INTEGER: 196
|
|
* STE-MIB::sensValue.2 = INTEGER: 261
|
|
* STE-MIB::sensSN.1 = STRING: "289667F30100000F"
|
|
* STE-MIB::sensSN.2 = STRING: "268C71130100004D"
|
|
* STE-MIB::sensUnit.1 = INTEGER: celsius(1)
|
|
* STE-MIB::sensUnit.2 = INTEGER: percent(4)
|
|
* STE-MIB::sensID.1 = INTEGER: 26518
|
|
* STE-MIB::sensID.2 = INTEGER: 29068
|
|
*/
|
|
|
|
$oids = snmpwalk_cache_oid($device, "sensTable", [], "STE-MIB");
|
|
|
|
foreach ($oids as $index => $entry) {
|
|
$oid = ".1.3.6.1.4.1.21796.4.1.3.1.5.{$index}";
|
|
$descr = $entry['sensName'];
|
|
$value = $entry['sensValue'];
|
|
$scale = 0.1;
|
|
|
|
$options = [];
|
|
// sensUnit: none (0), celsius (1), fahrenheit (2), kelvin (3), percent(4)
|
|
switch ($entry['sensUnit']) {
|
|
case 'celsius':
|
|
$type = 'temperature';
|
|
break;
|
|
case 'fahrenheit':
|
|
$type = 'temperature';
|
|
$options['sensor_unit'] = 'F';
|
|
break;
|
|
case 'kelvin':
|
|
$type = 'temperature';
|
|
$options['sensor_unit'] = 'K';
|
|
break;
|
|
case 'percent':
|
|
$type = 'humidity';
|
|
break;
|
|
default:
|
|
continue 2; // continue foreach loop
|
|
}
|
|
|
|
if (is_numeric($value) && $entry['sensState'] != 'invalid') {
|
|
discover_sensor($type, $device, $oid, "steSensor.$index", 'ste', $descr, $scale, $value, $options);
|
|
}
|
|
|
|
$oid_name = 'sensState';
|
|
$oid_num = ".1.3.6.1.4.1.21796.4.1.3.1.3.{$index}";
|
|
$type = 'ste-SensorState';
|
|
$value = $entry[$oid_name];
|
|
|
|
discover_status($device, $oid_num, $oid_name . '.' . $index, $type, $descr, $value, array('entPhysicalClass' => 'other'));
|
|
}
|
|
|
|
// EOF
|