This class implements the Scanner interface for a MDNS scanner via UDP messages in a IP based network. It sends out queries to discover various types of Matter device types and listens for announcements.

Implements

Constructors

  • Parameters

    Returns MdnsScanner

Accessors

Methods

  • Cancel a running discovery of commissionable devices. The waiter promises are resolved as if the timeout would be over.

    Parameters

    Returns void

  • Parameters

    Returns void

  • Close all connects, end all timers and resolve all pending promises.

    Returns Promise<void>

  • Discovers commissionable devices based on a defined identifier for maximal given timeout, but returns the first found entries. If already a discovered device matches in the cache the response is returned directly and no query is triggered. If no record exists a query is sent out and the promise gets fulfilled as soon as at least one device is found. If no device is discovered in the defined timeframe an empty array is returned. When the promise got fulfilled no more queries are send out, but more device entries might be added when discovered later. These can be requested by the getCommissionableDevices method.

    Parameters

    Returns Promise<CommissionableDevice[]>

  • Method to find an operational device (already commissioned) and return a promise with the list of discovered IP/ports or an empty array if not found.

    Parameters

    • __namedParameters: Fabric
    • nodeId: NodeId
    • OptionaltimeoutSeconds: number
    • OptionalignoreExistingRecords: boolean

    Returns Promise<undefined | OperationalDevice>

  • Return already discovered commissionable devices and return them. Does not send out new DNS-SD queries.

    Parameters

    Returns {
        addresses: ServerAddressIp[];
        CM: number;
        D: number;
        deviceIdentifier: string;
        discoveredAt: number;
        DN?: string;
        DT?: number;
        expires: undefined;
        ICD?: number;
        instanceId: string;
        P?: number;
        PH?: number;
        PI?: string;
        RI?: string;
        SAI?: number;
        SAT?: number;
        SD: number;
        SII?: number;
        T?: number;
        ttl: number;
        V?: number;
        VP?: string;
    }[]

  • Return already discovered addresses of an operational paired device and return them. Does not send out new DNS-SD queries.

    Parameters

    Returns undefined | OperationalDevice

  • Parameters

    • network: Network
    • Optionaloptions: {
          enableIpv4?: boolean;
          netInterface?: string;
      }
      • OptionalenableIpv4?: boolean
      • OptionalnetInterface?: string

    Returns Promise<MdnsScanner>

  • Parameters

    • addresses: Map<string, MatterServerRecordWithExpire>

    Returns (Record<string, unknown> & Diagnostic)[]

  • Parameters

    Returns Record<string, unknown> & Diagnostic