Unify Framework UCL MQTT Reference 1.7.0
All Files Pages
Descriptor Cluster

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"] }'