$entry) { $entry['index'] = $index; $match = [ 'measured_match' => [ 'entity_type' => 'port', 'field' => 'ifIndex', 'match' => '%index%' ] ]; $options = entity_measured_match_definition($device, $match, $entry); $name = $options['port_label']; // Temperature $descr = $name . ' Temperature'; $class = 'temperature'; $oid_name = 'swDdmTemperature'; $oid_num = '.1.3.6.1.4.1.171.12.72.2.1.1.1.2.'.$index; $scale = 1; $value = $entry[$oid_name]; $limits = [ 'limit_high' => $oids_limit[$index]['temperature']['swDdmHighAlarm'], 'limit_low' => $oids_limit[$index]['temperature']['swDdmLowAlarm'], 'limit_high_warn' => $oids_limit[$index]['temperature']['swDdmHighWarning'], 'limit_low_warn' => $oids_limit[$index]['temperature']['swDdmLowWarning'] ]; discover_sensor_ng($device, $class, $mib, $oid_name, $oid_num, $index, NULL, $descr, $scale, $value, array_merge($options, $limits)); // Voltage $descr = $name . ' Voltage'; $class = 'voltage'; $oid_name = 'swDdmVoltage'; $oid_num = '.1.3.6.1.4.1.171.12.72.2.1.1.1.3.'.$index; $scale = 1; $value = $entry[$oid_name]; $limits = [ 'limit_high' => $oids_limit[$index]['voltage']['swDdmHighAlarm'], 'limit_low' => $oids_limit[$index]['voltage']['swDdmLowAlarm'], 'limit_high_warn' => $oids_limit[$index]['voltage']['swDdmHighWarning'], 'limit_low_warn' => $oids_limit[$index]['voltage']['swDdmLowWarning'] ]; discover_sensor_ng($device, $class, $mib, $oid_name, $oid_num, $index, NULL, $descr, $scale, $value, array_merge($options, $limits)); // Tx Bias $descr = $name . ' Tx Bias'; $class = 'current'; $oid_name = 'swDdmBiasCurrent'; $oid_num = '.1.3.6.1.4.1.171.12.72.2.1.1.1.4.'.$index; $scale = 0.001; $value = $entry[$oid_name]; $limits = [ 'limit_high' => $oids_limit[$index]['bias']['swDdmHighAlarm'] * $scale, 'limit_low' => $oids_limit[$index]['bias']['swDdmLowAlarm'] * $scale, 'limit_high_warn' => $oids_limit[$index]['bias']['swDdmHighWarning'] * $scale, 'limit_low_warn' => $oids_limit[$index]['bias']['swDdmLowWarning'] * $scale ]; discover_sensor_ng($device, $class, $mib, $oid_name, $oid_num, $index, NULL, $descr, $scale, $value, array_merge($options, $limits)); // Tx Power $descr = $name . ' Tx Power'; $class = $power_unit === 'mw' ? 'power' : 'dbm'; $oid_name = 'swDdmTxPower'; $oid_num = '.1.3.6.1.4.1.171.12.72.2.1.1.1.5.'.$index; $scale = $power_unit === 'mw' ? 0.001 : 1; $value = $entry[$oid_name]; $limits = [ 'limit_high' => $oids_limit[$index]['txPower']['swDdmHighAlarm'] * $scale, 'limit_low' => $oids_limit[$index]['txPower']['swDdmLowAlarm'] * $scale, 'limit_high_warn' => $oids_limit[$index]['txPower']['swDdmHighWarning'] * $scale, 'limit_low_warn' => $oids_limit[$index]['txPower']['swDdmLowWarning'] * $scale ]; discover_sensor_ng($device, $class, $mib, $oid_name, $oid_num, $index, NULL, $descr, $scale, $value, array_merge($options, $limits)); // Rx Power $descr = $name . ' Rx Power'; $class = $power_unit === 'mw' ? 'power' : 'dbm'; $oid_name = 'swDdmRxPower'; $oid_num = '.1.3.6.1.4.1.171.12.72.2.1.1.1.6.'.$index; $scale = $power_unit === 'mw' ? 0.001 : 1; $value = $entry[$oid_name]; $limits = [ 'limit_high' => $oids_limit[$index]['rxPower']['swDdmHighAlarm'] * $scale, 'limit_low' => $oids_limit[$index]['rxPower']['swDdmLowAlarm'] * $scale, 'limit_high_warn' => $oids_limit[$index]['rxPower']['swDdmHighWarning'] * $scale, 'limit_low_warn' => $oids_limit[$index]['rxPower']['swDdmLowWarning'] * $scale ]; discover_sensor_ng($device, $class, $mib, $oid_name, $oid_num, $index, NULL, $descr, $scale, $value, array_merge($options, $limits)); } // EOF