$entry) { $descr = $entry['sensName']; $oid_name = 'sensValue'; $oid_num = ".1.3.6.1.4.1.21796.4.9.3.1.5.{$index}"; $type = $mib . '-' . $oid_name; $scale = 0.1; $value = $entry[$oid_name]; $options = []; // sensUnit: none (0), celsius (1), fahrenheit (2), kelvin (3), percent(4), 5 switch ($entry['sensUnit']) { case 'celsius': $sensor_type = 'temperature'; break; case 'fahrenheit': $sensor_type = 'temperature'; $options['sensor_unit'] = 'F'; break; case 'kelvin': $sensor_type = 'temperature'; $options['sensor_unit'] = 'K'; break; case 'percent': $sensor_type = 'humidity'; break; case 'none': continue 2; // continue foreach loop default: $sensor_type = 'status'; } if ($entry['sensState'] !== 'invalid' && $sensor_type !== 'status') { //discover_sensor($sensor_type, $device, $oid_num, $index, $type, $descr, $scale, $value, $options); discover_sensor_ng($device, $sensor_type, $mib, $oid_name, $oid_num, $index, $descr, $scale, $value, $options); continue; } $oid_name = 'sensState'; $oid_num = ".1.3.6.1.4.1.21796.4.9.3.1.3.{$index}"; $type = 'ste2-SensorState'; $value = $entry[$oid_name]; discover_status_ng($device, $mib, $oid_name, $oid_num, $index, $type, $descr, $value, ['entPhysicalClass' => 'other']); } /** * STE2-MIB::inpIndex.1 = INTEGER: 1 * STE2-MIB::inpIndex.2 = INTEGER: 2 * STE2-MIB::inpValue.1 = INTEGER: off(0) * STE2-MIB::inpValue.2 = INTEGER: off(0) * STE2-MIB::inpName.1 = STRING: "Input 1" * STE2-MIB::inpName.2 = STRING: "Input 2" * STE2-MIB::inpAlarmState.1 = INTEGER: alarm(1) * STE2-MIB::inpAlarmState.2 = INTEGER: alarm(1) */ // EOF