$egw4device) { if ($egw4[$egw4deviceid]['EGW4SensorInfoTranslatedFormatSensorDeviceActive'] !== 'Active') { continue; } $name = $egw4[$egw4deviceid]['EGW4SensorInfoTranslatedFormatSensorDeviceType']; $egw4count = count($egw4device); foreach ($egw4device as $sensorid => $entry) { //$entry = array_merge($entry, (array)$egw4[$egw4deviceid]); $descr = $name; if ($egw4count > 1) { $descr .= " #$sensorid"; } $index = "$egw4deviceid.$sensorid"; $oid_name = 'EGW4SensorInfoTranslatedFormatByDatumNumberReadingValue'; $oid_num = '.1.3.6.1.4.1.41542.2.2.2.3.' . $index; $value = $entry[$oid_name]; switch (strtolower($entry['EGW4SensorInfoTranslatedFormatByDatumNumberReadingUnits'])) { case 'deg. c': discover_sensor_ng($device, 'temperature', $mib, $oid_name, $oid_num, $index, $descr, 1, $value); break; case 'ph': discover_sensor_ng($device, 'humidity', $mib, $oid_name, $oid_num, $index, $descr, 1, $value); break; case 'detected': discover_status_ng($device, $mib, $oid_name, $oid_num, $index, 'EGW4SensorDetected', $descr, $value, ['entPhysicalClass' => 'sensor']); break; default: print_warning("Unknown sensor Unit: " . $entry['EGW4SensorInfoTranslatedFormatByDatumNumberReadingUnits']); print_debug_vars($egw4[$egw4deviceid]); print_debug_vars($entry); } } } // EOF