The primary interface for Matter.js endpoint implementations.

TODO - this is a transitional interface that allows us to have multiple implementations of the legacy endpoint API

interface EndpointInterface {
    deviceType: DeviceTypeId;
    name: string;
    number: undefined | EndpointNumber;
    addChildEndpoint(endpoint: EndpointInterface): void;
    addClusterClient(client: ClusterClientObj): void;
    addClusterServer(server: ClusterServer): void;
    close(): void;
    determineUniqueID(): undefined | string;
    getAllClusterClients(): ClusterClientObj[];
    getAllClusterServers(): ClusterServer[];
    getChildEndpoint(id: EndpointNumber): undefined | EndpointInterface;
    getChildEndpoints(): EndpointInterface[];
    getClusterClient<const T>(cluster: T): undefined | ClusterClientObj<T>;
    getClusterServer<T>(cluster: T): undefined | ClusterServer;
    getClusterServerById(clusterId: ClusterId): undefined | ClusterServer;
    getNumber(): EndpointNumber;
    hasClusterServer(cluster: ClusterType): boolean;
    removeFromStructure(): void;
    setStructureChangedCallback(callback: (() => void)): void;
    updatePartsList(): EndpointNumber[];
    verifyRequiredClusters(): void;
}

Implemented by

Properties

deviceType: DeviceTypeId
name: string
number: undefined | EndpointNumber

Methods

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Parameters

    Returns void

  • Returns void

  • Returns undefined | string

  • Returns ClusterServer[]

  • Type Parameters

    Parameters

    • cluster: T

    Returns undefined | ClusterClientObj<T>

  • Type Parameters

    Parameters

    • cluster: T

    Returns undefined | ClusterServer

  • Parameters

    Returns undefined | ClusterServer

  • Parameters

    Returns boolean

  • Returns void

  • Parameters

    • callback: (() => void)
        • (): void
        • Returns void

    Returns void

  • Returns void