This cluster supports all Descriptor features. It may support illegal feature combinations.

If you use this cluster you must manually specify which features are active and ensure the set of active features is legal per the Matter specification.

interface Complete {
    attributes: Merge<{
        acceptedCommandList: Attribute<CommandId[], never>;
        attributeList: Attribute<AttributeId[], never>;
        clientList: FixedAttribute<ClusterId[], any>;
        clusterRevision: Attribute<number, never>;
        deviceTypeList: FixedAttribute<TypeFromFields<{
            deviceType: FieldType<DeviceTypeId>;
            revision: FieldType<number>;
        }>[], any>;
        featureMap: Attribute<TypeFromPartialBitSchema<{
            tagList: BitFlag;
        }>, never>;
        generatedCommandList: Attribute<CommandId[], never>;
        partsList: Attribute<EndpointNumber[], any>;
        serverList: FixedAttribute<ClusterId[], any>;
        tagList: FixedAttribute<TypeFromFields<{
            label: OptionalFieldType<null | string>;
            mfgCode: FieldType<null | VendorId>;
            namespaceId: FieldType<number>;
            tag: FieldType<number>;
        }>[], any> & {
            isConditional: true;
            mandatoryIf: [] | [{
                tagList: boolean;
            }];
            optional: true;
            optionalIf: [] | ConditionalFeatureList<BitSchema>;
        };
    }, GlobalAttributes<{
        tagList: BitFlag;
    }>>;
    base: undefined;
    commands: {};
    events: {};
    extensions: undefined;
    features: {
        tagList: BitFlag;
    };
    id: Branded<Branded<29, "ClusterId">, "ClusterId">;
    name: "Descriptor";
    revision: 2;
    supportedFeatures: {};
    unknown: false;
    alter<const AlterationsT>(alterations: AlterationsT): WithAlterations<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            clientList: FixedAttribute<ClusterId[], any>;
            clusterRevision: Attribute<number, never>;
            deviceTypeList: FixedAttribute<TypeFromFields<{
                deviceType: FieldType<DeviceTypeId>;
                revision: FieldType<number>;
            }>[], any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                tagList: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            partsList: Attribute<EndpointNumber[], any>;
            serverList: FixedAttribute<ClusterId[], any>;
            tagList: FixedAttribute<TypeFromFields<{
                label: OptionalFieldType<(...) | (...)>;
                mfgCode: FieldType<(...) | (...)>;
                namespaceId: FieldType<number>;
                tag: FieldType<number>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    tagList: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        features: {
            tagList: BitFlag;
        };
        id: Branded<29, "ClusterId">;
        name: "Descriptor";
        revision: 2;
    }>, AlterationsT>;
    enable<const FlagsT>(flags: FlagsT): WithFlags<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            clientList: FixedAttribute<ClusterId[], any>;
            clusterRevision: Attribute<number, never>;
            deviceTypeList: FixedAttribute<TypeFromFields<{
                deviceType: FieldType<DeviceTypeId>;
                revision: FieldType<number>;
            }>[], any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                tagList: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            partsList: Attribute<EndpointNumber[], any>;
            serverList: FixedAttribute<ClusterId[], any>;
            tagList: FixedAttribute<TypeFromFields<{
                label: OptionalFieldType<(...) | (...)>;
                mfgCode: FieldType<(...) | (...)>;
                namespaceId: FieldType<number>;
                tag: FieldType<number>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    tagList: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        features: {
            tagList: BitFlag;
        };
        id: Branded<29, "ClusterId">;
        name: "Descriptor";
        revision: 2;
    }>, FlagsT>;
    set<const ValuesT>(values: ValuesT): WithValues<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            clientList: FixedAttribute<ClusterId[], any>;
            clusterRevision: Attribute<number, never>;
            deviceTypeList: FixedAttribute<TypeFromFields<{
                deviceType: FieldType<DeviceTypeId>;
                revision: FieldType<number>;
            }>[], any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                tagList: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            partsList: Attribute<EndpointNumber[], any>;
            serverList: FixedAttribute<ClusterId[], any>;
            tagList: FixedAttribute<TypeFromFields<{
                label: OptionalFieldType<(...) | (...)>;
                mfgCode: FieldType<(...) | (...)>;
                namespaceId: FieldType<number>;
                tag: FieldType<number>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    tagList: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        features: {
            tagList: BitFlag;
        };
        id: Branded<29, "ClusterId">;
        name: "Descriptor";
        revision: 2;
    }>, ValuesT>;
    with<const SelectionT>(...selection: SelectionT): Of<Of<{
        attributes: {
            acceptedCommandList: Attribute<CommandId[], never>;
            attributeList: Attribute<AttributeId[], never>;
            clientList: FixedAttribute<ClusterId[], any>;
            clusterRevision: Attribute<number, never>;
            deviceTypeList: FixedAttribute<TypeFromFields<{
                deviceType: FieldType<DeviceTypeId>;
                revision: FieldType<number>;
            }>[], any>;
            featureMap: Attribute<TypeFromPartialBitSchema<{
                tagList: BitFlag;
            }>, never>;
            generatedCommandList: Attribute<CommandId[], never>;
            partsList: Attribute<EndpointNumber[], any>;
            serverList: FixedAttribute<ClusterId[], any>;
            tagList: FixedAttribute<TypeFromFields<{
                label: OptionalFieldType<(...) | (...)>;
                mfgCode: FieldType<(...) | (...)>;
                namespaceId: FieldType<number>;
                tag: FieldType<number>;
            }>[], any> & {
                isConditional: true;
                mandatoryIf: [] | [{
                    tagList: boolean;
                }];
                optional: true;
                optionalIf: [] | ConditionalFeatureList<BitSchema>;
            };
        };
        features: {
            tagList: BitFlag;
        };
        id: Branded<29, "ClusterId">;
        name: "Descriptor";
        revision: 2;
    }>, SelectionT>;
}

Hierarchy (view full)

Properties

attributes: Merge<{
    acceptedCommandList: Attribute<CommandId[], never>;
    attributeList: Attribute<AttributeId[], never>;
    clientList: FixedAttribute<ClusterId[], any>;
    clusterRevision: Attribute<number, never>;
    deviceTypeList: FixedAttribute<TypeFromFields<{
        deviceType: FieldType<DeviceTypeId>;
        revision: FieldType<number>;
    }>[], any>;
    featureMap: Attribute<TypeFromPartialBitSchema<{
        tagList: BitFlag;
    }>, never>;
    generatedCommandList: Attribute<CommandId[], never>;
    partsList: Attribute<EndpointNumber[], any>;
    serverList: FixedAttribute<ClusterId[], any>;
    tagList: FixedAttribute<TypeFromFields<{
        label: OptionalFieldType<null | string>;
        mfgCode: FieldType<null | VendorId>;
        namespaceId: FieldType<number>;
        tag: FieldType<number>;
    }>[], any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            tagList: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    };
}, GlobalAttributes<{
    tagList: BitFlag;
}>>

Type declaration

  • ReadonlyacceptedCommandList: Attribute<CommandId[], never>

    List of client generated commands which are supported by this cluster server instance.

  • ReadonlyattributeList: Attribute<AttributeId[], never>

    List of the attribute IDs of the attributes supported by the cluster instance.

  • ReadonlyclientList: FixedAttribute<ClusterId[], any>

    This attribute shall list each cluster ID for the client clusters present on the endpoint instance.

    MatterSpecification.v13.Core § 9.5.6.3

  • ReadonlyclusterRevision: Attribute<number, never>

    Indicates the revision of the server cluster specification supported by the cluster instance.

  • ReadonlydeviceTypeList: FixedAttribute<TypeFromFields<{
        deviceType: FieldType<DeviceTypeId>;
        revision: FieldType<number>;
    }>[], any>

    This is a list of device types and corresponding revisions declaring endpoint conformance (see DeviceTypeStruct). At least one device type entry shall be present.

    An endpoint shall conform to all device types listed in the DeviceTypeList. A cluster instance that is in common for more than one device type in the DeviceTypeList shall be supported as a shared cluster instance on the endpoint.

    MatterSpecification.v13.Core § 9.5.6.1

  • ReadonlyfeatureMap: Attribute<TypeFromPartialBitSchema<{
        tagList: BitFlag;
    }>, never>

    Indicates whether the server supports zero or more optional cluster features.

  • ReadonlygeneratedCommandList: Attribute<CommandId[], never>

    List of server generated commands (server to client commands).

  • ReadonlypartsList: Attribute<EndpointNumber[], any>

    This attribute indicates composition of the device type instance. Device type instance composition shall include the endpoints in this list.

    See Endpoint Composition for more information about which endpoints to include in this list.

    MatterSpecification.v13.Core § 9.5.6.4

  • ReadonlyserverList: FixedAttribute<ClusterId[], any>

    This attribute shall list each cluster ID for the server clusters present on the endpoint instance.

    MatterSpecification.v13.Core § 9.5.6.2

  • ReadonlytagList: FixedAttribute<TypeFromFields<{
        label: OptionalFieldType<null | string>;
        mfgCode: FieldType<null | VendorId>;
        namespaceId: FieldType<number>;
        tag: FieldType<number>;
    }>[], any> & {
        isConditional: true;
        mandatoryIf: [] | [{
            tagList: boolean;
        }];
        optional: true;
        optionalIf: [] | ConditionalFeatureList<BitSchema>;
    }
base: undefined
commands: {}
events: {}
extensions: undefined
features: {
    tagList: BitFlag;
}

Type declaration

  • ReadonlytagList: BitFlag

    TagList

    See the Disambiguation section in the System Model spec for conformance requirements for this feature and the corresponding attribute.

    MatterSpecification.v13.Core § 9.5.4.1

id: Branded<Branded<29, "ClusterId">, "ClusterId">
name
revision
supportedFeatures: {}
unknown

Methods