A "cluster" is a grouping of related functionality that a Matter endpoint supports.

ClusterType describes the functionality of a specific type of cluster.

interface ClusterType {
    constructor: any;
    attributes: ElementSet<Attribute>;
    base?: ClusterType;
    commands: ElementSet<Command>;
    events: ElementSet<Event>;
    extensions?: readonly Extension<BitSchema>[];
    features: BitSchema;
    id: ClusterId;
    name: string;
    revision: number;
    supportedFeatures: TypeFromPartialBitSchema<BitSchema>;
    unknown: boolean;
}

Hierarchy (view full)

Constructors

constructor: any

Properties

attributes: ElementSet<Attribute>

Attributes supported by the cluster.

If you enable features, this property tracks the shape of the cluster with no features enabled.

commands: ElementSet<Command>

Commands supported by the cluster.

events: ElementSet<Event>

Events supported by the cluster.

extensions?: readonly Extension<BitSchema>[]

Metadata controlling how enabled features affect cluster structure.

features: BitSchema

Features the cluster may support.

name: string
revision: number

Features the cluster does support.

unknown: boolean

If true, this flag indicates that the cluster is not known to matter.js. This implies a cluster ID for which we do not have a cluster definition.

Some functionality is available for unknown clusters but an official Matter definition is generally required for full functionality.