General and node management29 — Descriptor

Matter Cluster 29 — Descriptor

Matter Cluster 29 (0x001D) Descriptor: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 29 — Descriptor Cluster

Matter Cluster 29, also written as 0x001D, is the Descriptor Cluster. The Descriptor cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. This cluster describes an endpoint instance on the node, independently from other endpoints, but also allows composition of endpoints to conform to complex device type patterns. This cluster supports a list of one or more device type identifiers that represent conformance to device type specifications.

Cluster Identity

FieldValue
Cluster ID decimal29
Cluster ID hex0x001D
Cluster nameDescriptor
Cluster revision (Matter 1.6.1)3
Roleutility
ScopeEndpoint
PICS codeDESC
Typical endpoint1

Revision history

RevisionChange
1Initial revision
2Semantic tag list; TagList feature
3Add EndpointUniqueID attribute

Shadow Path Format

Cluster 29 values in the device shadow use this format:

endpoint_id / 29 / attribute_id

Example:

{
  "1/29/0": []
}
PartMeaning
1Endpoint ID
29Descriptor cluster
0DeviceTypeList attribute

Cluster 29 Features

The FeatureMap attribute (1/29/65532) is a bitmap. Each bit set means the device implements that feature and the attributes and commands that depend on it.

BitCodeFeatureConformanceMeaning
0TAGLISTTagListdescThe TagList attribute is present

Example: FeatureMap = 0 means no optional feature is enabled; 1 means every feature listed above is enabled.


Data Types

DeviceTypeStruct (struct)

The device type and revision define endpoint conformance to a release of a device type definition. See the Data Model specification for more information.

FieldNameTypeConformanceConstraintMeaning
0DeviceTypedevtype-idM—This indicates the device type definition.
1Revisionuint16Mmin 1This is the implemented revision of the device type definition.

Cluster 29 Attributes

Cluster 29 defines 6 attributes plus the global attributes. Conformance: M mandatory, O optional, a feature code means "mandatory when that feature is present", square brackets mean "optional when …".

IDHexAttributeTypeConformanceAccessQualitiesDefault
00x0000DeviceTypeListlist of DeviceTypeStructMR (read: view)—desc
10x0001ServerListlist of cluster-idMR (read: view)—empty
20x0002ClientListlist of cluster-idMR (read: view)—empty
30x0003PartsListlist of endpoint-noMR (read: view)—empty
40x0004TagListlist of SemanticTagStructTAGLISTR (read: view)—MS
50x0005EndpointUniqueIDstringOR (read: view)——

Global attributes

IDHexAttributeMeaning
655280xFFF8GeneratedCommandListResponse command IDs this server generates.
655290xFFF9AcceptedCommandListCommand IDs this server accepts.
655310xFFFBAttributeListAttribute IDs implemented.
655320xFFFCFeatureMapImplemented optional features (see above).
655330xFFFDClusterRevisionCluster revision implemented; 3 for a Matter 1.6.1 device.

Attribute Details

Attribute 0 / 0x0000 — DeviceTypeList

Path example:

1/29/0

This is a list of device types and corresponding revisions declaring endpoint conformance. At least one device type entry is present. An endpoint must 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 is supported as a shared cluster instance on the endpoint.

PropertyValue
Typelist of DeviceTypeStruct
ConformanceM
AccessR (read: view)
Constraintmin 1 entries
Defaultdesc

Each entry is a DeviceTypeStruct (see Data Types).

Example:

{
  "1/29/0": []
}

Attribute 1 / 0x0001 — ServerList

Path example:

1/29/1

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

PropertyValue
Typelist of cluster-id
ConformanceM
AccessR (read: view)
Defaultempty

Example:

{
  "1/29/1": []
}

Attribute 2 / 0x0002 — ClientList

Path example:

1/29/2

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

PropertyValue
Typelist of cluster-id
ConformanceM
AccessR (read: view)
Defaultempty

Example:

{
  "1/29/2": []
}

Attribute 3 / 0x0003 — PartsList

Path example:

1/29/3

This attribute indicates composition of the device type instance. Device type instance composition includes the endpoints in this list. See Endpoint Composition for more information about which endpoints to include in this list.

PropertyValue
Typelist of endpoint-no
ConformanceM
AccessR (read: view)
Defaultempty

Example:

{
  "1/29/3": []
}

Attribute 4 / 0x0004 — TagList

Path example:

1/29/4

This attribute is used to disambiguate sibling endpoints in certain situations, as defined in the Disambiguation section in the System Model specification. An example of such a situation might be a device with two buttons, with this attribute being used to indicate which of the two endpoints corresponds to the button on the left side.

PropertyValue
Typelist of SemanticTagStruct
ConformanceTAGLIST
AccessR (read: view)
Constraint1 to 6 entries
DefaultMS

Example:

{
  "1/29/4": []
}

Attribute 5 / 0x0005 — EndpointUniqueID

Path example:

1/29/5

No condensed specification text is available for EndpointUniqueID; use the type, conformance and constraint below together with the cluster description above.

PropertyValue
Typestring
ConformanceO
AccessR (read: view)
Constraintmax length 32

Example:

{
  "1/29/5": "example"
}

Cluster 29 Commands

Cluster 29 defines no commands. It is read (and, for writable attributes, written) through attribute access only.

Cluster 29 Events

Cluster 29 defines no events.


SmartphoneKey Notes

  • Descriptor is read on every endpoint at commissioning to detect device types and bridge structure (PartsList). The primary device type is selected from DeviceTypeList for the shadow.
  • Shadow paths follow endpoint/29/attribute; attribute values that the device reports as unreadable are written as n/a.
  • Attribute IDs, command IDs and enum values on this page come from the CSA Matter 1.6.1 data model; descriptions are condensed from the specification text.