Networking and diagnostics1107 — Thread Network Directory

Matter Cluster 1107 — Thread Network Directory

Matter Cluster 1107 (0x0453) Thread Network Directory: attributes, commands, events, data types, shadow paths and bridge payload examples.

Matter Cluster 1107 — Thread Network Directory Cluster

Matter Cluster 1107, also written as 0x0453, is the Thread Network Directory Cluster. This cluster stores a list of Thread networks (including the credentials required to access each network), as well as a designation of the user's preferred network, to facilitate the sharing of Thread networks across fabrics.

Cluster Identity

FieldValue
Cluster ID decimal1107
Cluster ID hex0x0453
Cluster nameThread Network Directory
Cluster revision (Matter 1.6.1)1
Roleapplication
ScopeEndpoint
PICS codeTHNETDIR
Typical endpoint1

Revision history

RevisionChange
1Initial revision

Shadow Path Format

Cluster 1107 values in the device shadow use this format:

endpoint_id / 1107 / attribute_id

Example:

{
  "1/1107/0": "AQID"
}
PartMeaning
1Endpoint ID
1107Thread Network Directory cluster
0PreferredExtendedPanID attribute

Data Types

ThreadNetworkStruct (struct)

Represents the data associated with a Thread Network.

FieldNameTypeConformanceConstraintMeaning
0ExtendedPanIDoctstrMallowed: 8—
1NetworkNamestringMlength 1 to 16Indicates the Network Name from the OperationalDataset for the given Thread network.
2Channeluint16M—Indicates the Channel from the OperationalDataset for the given Thread network.
3ActiveTimestampuint64M—Indicates the Active Timestamp from the OperationalDataset for the given Thread network.

Cluster 1107 Attributes

Cluster 1107 defines 3 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
00x0000PreferredExtendedPanIDoctstrMR/W (read: view, write: manage)nullable, persisted—
10x0001ThreadNetworkslist of ThreadNetworkStructMR (read: view)persisted—
20x0002ThreadNetworkTableSizeuint8MR (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; 1 for a Matter 1.6.1 device.

Attribute Details

Attribute 0 / 0x0000 — PreferredExtendedPanID

Path example:

1/1107/0

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

PropertyValue
Typeoctstr
ConformanceM
AccessR/W (read: view, write: manage)
Qualitiesnullable, persisted
Constraintallowed: 8

Example:

{
  "1/1107/0": "AQID"
}

Attribute 1 / 0x0001 — ThreadNetworks

Path example:

1/1107/1

Indicates the list of Thread Networks known about by this cluster. If the node hosting this cluster includes a Thread Border Router, then an entry for its Thread Network is included in this list. The list can be modified via the AddNetwork and RemoveNetwork commands. For each entry in the list, the cluster server also stores a Thread Operational Dataset.

PropertyValue
Typelist of ThreadNetworkStruct
ConformanceM
AccessR (read: view)
Qualitiespersisted
Constraintmax ThreadNetworkTableSize entries

Each entry is a ThreadNetworkStruct (see Data Types).

Example:

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

Attribute 2 / 0x0002 — ThreadNetworkTableSize

Path example:

1/1107/2

Indicates the maximum number of entries that can be held in the ThreadNetworks list; it is at least 2 times the number of SupportedFabrics advertised in the Operational Credentials Cluster on the root endpoint of this node.

PropertyValue
Typeuint8
ConformanceM
AccessR (read: view)
Constraintdesc

Example:

{
  "1/1107/2": 1
}

Cluster 1107 Commands

Cluster 1107 has 3 client-to-server commands and 1 response.

IDHexCommandDirectionConformanceResponseDescription
00x00AddNetworkclient → serverMstatusAdds an entry to the ThreadNetworks attribute with the specified Thread Operational Dataset.
10x01RemoveNetworkclient → serverMstatusRemoves the network with the given Extended PAN ID from the ThreadNetworks attribute.
20x02GetOperationalDatasetclient → serverMOperationalDatasetResponseRetrieves the Thread Operational Dataset with the given Extended PAN ID.
30x03OperationalDatasetResponseserver → clientM—Contains the Thread Operational Dataset for the Extended PAN specified in GetOperationalDataset.

AcceptedCommandList

The AcceptedCommandList attribute lists the command IDs the endpoint actually implements:

endpoint_id / 1107 / 65529
{
  "1/1107/65529": [
    0,
    1,
    2
  ]
}

Before sending a Cluster 1107 command, check that the command ID exists in endpoint/1107/65529. Optional commands are only present when the matching feature is set in FeatureMap.


Bridge Command Payload Format

The bridge accepts Matter commands in this structure:

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1107,
    "command_name": "AddNetwork",
    "payload": {},
    "timed_request_timeout_ms": 1000
  }
}

For Cluster 1107, always use "cluster_id": 1107. Payload keys are the command field names in lowerCamelCase. Octet-string fields are base64-encoded. timed_request_timeout_ms is required for timed commands and ignored otherwise.


Command: AddNetwork

Purpose

Adds an entry to the ThreadNetworks attribute with the specified Thread Operational Dataset. If there is an existing entry with the Extended PAN ID then the Thread Operational Dataset for that entry is replaced. As a result, changes to the network parameters (e.g. Channel, Network Name, PSKc, ...) of an existing entry with a given Extended PAN ID can be made using this command.

Command Identity

FieldValue
Command ID0
Command hex0x00
Command nameAddNetwork
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: manage, timed)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0OperationalDatasetoperationalDatasetoctstrMmax length 254This field represents the Operational Dataset for the network, using the encoding defined in the Thread specification.

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1107,
    "command_name": "AddNetwork",
    "payload": {
      "operationalDataset": "AQID"
    },
    "timed_request_timeout_ms": 1000
  }
}

This is a timed command: the bridge must send it inside a timed interaction, so timed_request_timeout_ms is required.


Command: RemoveNetwork

Purpose

Removes the network with the given Extended PAN ID from the ThreadNetworks attribute.

Command Identity

FieldValue
Command ID1
Command hex0x01
Command nameRemoveNetwork
Directionclient → server
ConformanceM
Responsestatus
Access(invoke: manage, timed)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0ExtendedPanIDextendedPanIDoctstrMallowed: 8—

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1107,
    "command_name": "RemoveNetwork",
    "payload": {
      "extendedPanID": "AQID"
    },
    "timed_request_timeout_ms": 1000
  }
}

This is a timed command: the bridge must send it inside a timed interaction, so timed_request_timeout_ms is required.


Command: GetOperationalDataset

Purpose

Retrieves the Thread Operational Dataset with the given Extended PAN ID.

Command Identity

FieldValue
Command ID2
Command hex0x02
Command nameGetOperationalDataset
Directionclient → server
ConformanceM
ResponseOperationalDatasetResponse
Access(invoke: manage)

Payload Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0ExtendedPanIDextendedPanIDoctstrMallowed: 8—

Bridge Command Example

{
  "message_id": "1",
  "command": "device_command",
  "args": {
    "endpoint_id": 1,
    "cluster_id": 1107,
    "command_name": "GetOperationalDataset",
    "payload": {
      "extendedPanID": "AQID"
    }
  }
}

The device answers with OperationalDatasetResponse (see below).


Command: OperationalDatasetResponse

Purpose

Contains the Thread Operational Dataset for the Extended PAN specified in GetOperationalDataset.

Command Identity

FieldValue
Command ID3
Command hex0x03
Command nameOperationalDatasetResponse
Directionserver → client (response)
ConformanceM

Response Fields

IDFieldPayload keyTypeConformanceConstraintMeaning
0OperationalDatasetoperationalDatasetoctstrMmax length 254—

Cluster 1107 Events

Cluster 1107 defines no events.


SmartphoneKey Notes

  • Cluster 1107 is not currently exposed by SmartphoneKey devices. This page documents the Matter 1.6.1 specification so that future devices can be interpreted without changes to the backend.
  • Shadow paths follow endpoint/1107/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.