$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