The following commands and attributes are accepted as JSON payloads for the Descriptor cluster.
Descriptor Attributes
The following attribute topics are used to retrieve the Descriptor cluster state.
Descriptor/DeviceTypeList Attribute
MQTT Topic Pattern:
[PREFIX]/Descriptor/Attributes/DeviceTypeList/Reported
[PREFIX]/Descriptor/Attributes/DeviceTypeList/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Descriptor Cluster DeviceTypeList Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "DeviceTypeStruct"
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for DeviceTypeList attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/Descriptor/Attributes/DeviceTypeList/+'
# Example output
ucl/by-unid/<UNID>/ep0/Descriptor/Attributes/DeviceTypeList/Desired { "value": [<DESIRED_DEVICE_TYPE_LIST>,<DESIRED_DEVICE_TYPE_LIST>]}
ucl/by-unid/<UNID>/ep0/Descriptor/Attributes/DeviceTypeList/Reported { "value": [<REPORTED_DEVICE_TYPE_LIST>,<REPORTED_DEVICE_TYPE_LIST>]}
Descriptor/ClusterRevision Attribute
MQTT Topic Pattern:
[PREFIX]/Descriptor/Attributes/ClusterRevision/Reported
[PREFIX]/Descriptor/Attributes/ClusterRevision/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Descriptor Cluster ClusterRevision Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for ClusterRevision attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Descriptor/Attributes/ClusterRevision/+'
# Example output
ucl/by-unid/<UNID>/<EP>/Descriptor/Attributes/ClusterRevision/Desired { "value": <DESIRED_CLUSTER_REVISION> }
ucl/by-unid/<UNID>/<EP>/Descriptor/Attributes/ClusterRevision/Reported { "value": <REPORTED_CLUSTER_REVISION> }
Descriptor Command Support
MQTT Topic Pattern:
[PREFIX]/Descriptor/SupportedCommands
[PREFIX]/Descriptor/SupportedGeneratedCommands
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Descriptor Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
]
}
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see supported commands for Descriptor cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Descriptor/SupportedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/Descriptor/SupportedCommands { "value": [] }
To see supported generated commands for Descriptor cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Descriptor/SupportedGeneratedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/Descriptor/SupportedGeneratedCommands { "value": [] }
Descriptor Commands
Descriptor/WriteAttributes Command
MQTT Topic Pattern:
[PREFIX]/Descriptor/Commands/WriteAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Descriptor Cluster WriteAttributes Command Properties",
"type": "object",
"properties": {
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To update all Descriptor attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Descriptor/Commands/WriteAttributes' -m '{ }'
NOTE: Specify only the list of attributes to write in this command. Unspecified attributes will not be updated.
Descriptor/ForceReadAttributes Command
MQTT Topic Pattern:
[PREFIX]/Descriptor/Commands/ForceReadAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Descriptor Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"DeviceTypeList"
]
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To force read all Descriptor attributes under the by-unid topic space (by sending an empty array):
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Descriptor/Commands/ForceReadAttributes' -m '{ "value": [] }'
To force read one of the Descriptor attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Descriptor/Commands/ForceReadAttributes' -m '{ "value": ["DeviceTypeList"] }'