'', //'unknown' => '', 'voltsAC' => 'voltage', 'voltsDC' => 'voltage', 'amperes' => 'current', 'watts' => 'power', 'hertz' => 'frequency', 'celsius' => 'temperature', 'percentRH' => 'humidity', 'rpm' => 'fanspeed', 'cmm' => 'airflow', //'truthvalue' => 'state' // Need example ]; $oids = snmpwalk_cache_oid($device, 'querxPhySensorEntry', [], 'EGNITEPHYSENSOR-MIB'); print_debug_vars($oids); foreach ($oids as $index => $entry) { if (in_array($entry['querxPhySensorOperStatus'], ['unavailable', 'nonoperational'])) { continue; } $options = []; $descr = $entry['querxPhySensorName']; // Non common sensor classes: if ($entry['querxPhySensorType'] == 'celsius' && str_icontains_array($descr, 'Dew')) { $class = 'dewpoint'; } elseif ($entry['querxPhySensorType'] == 'other') { // Probably can be some other sensor classes if (str_icontains_array($descr, 'Pressure') || str_ends($entry['querxPhySensorUnitsDisplay'], ['Pa', 'psi'])) { $class = 'pressure'; //$options['sensor_unit'] = $entry['querxPhySensorUnitsDisplay']; } else { // Unknown, need examples continue; } } elseif (isset($egnitesensor[$entry['querxPhySensorType']])) { $class = $egnitesensor[$entry['querxPhySensorType']]; } else { // Skip unknown continue; } $scale = si_to_scale($entry['querxPhySensorScale'], $entry['querxPhySensorPrecision']); $oid_name = 'querxPhySensorValue'; $oid_num = ".1.3.6.1.4.1.3444.1.14.1.2.1.5.$index"; //$type = $mib . '-' . $oid_name; $value = $entry[$oid_name]; discover_sensor_ng($device, $class, $mib, $oid_name, $oid_num, $index, $descr, $scale, $value, $options); } // EOF