$entry) { $oid = ".1.3.6.1.4.1.21796.3.3.3.1.6.$index"; $descr = $entry['sensName']; $value = $entry['sensValue']; $scale = 0.1; // sensUnit: celsius (0), fahrenheit (1), kelvin (2), percent(3), volt (4), miliAmper (5), noUnit (6), // pulse (7), switch (8), dewPoint (9), absoluteHumidity (10), pressure (11), universal (12) switch ($entry['sensUnit']) { case 'celsius': $type = 'temperature'; break; case 'percent': $type = 'humidity'; break; case 'volt': $type = 'voltage'; break; case 'miliAmper': $type = 'current'; $scale = 0.0001; break; //case 'pressure': // $type = 'pressure'; // $scale = 100; // break; default: continue 2; // continue foreach loop } if (is_numeric($value) && $entry['sensState'] != 'invalid') { if (is_numeric($entry['sensLimitMax']) && is_numeric($entry['sensLimitMin'])) { $limits = array('limit_high' => $entry['sensLimitMax'] * $scale, 'limit_low' => $entry['sensLimitMin'] * $scale); } else { $limits = array(); } discover_sensor($type, $device, $oid, "poseidonSensor.$index", 'poseidon', $descr, $scale, $value, $limits); } } // EOF