The following commands and attributes are accepted as JSON payloads for the Binding cluster.
Binding Attributes
The following attribute topics are used to retrieve the Binding cluster state.
Binding/BindingTableFull Attribute
MQTT Topic Pattern:
[PREFIX]/Binding/Attributes/BindingTableFull/Reported
[PREFIX]/Binding/Attributes/BindingTableFull/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster BindingTableFull Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "boolean"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for BindingTableFull attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/Binding/Attributes/BindingTableFull/+'
# Example output
ucl/by-unid/<UNID>/ep0/Binding/Attributes/BindingTableFull/Desired { "value": <DESIRED_BINDING_TABLE_FULL>}
ucl/by-unid/<UNID>/ep0/Binding/Attributes/BindingTableFull/Reported { "value": <REPORTED_BINDING_TABLE_FULL>}
Binding/BindableClusterList Attribute
MQTT Topic Pattern:
[PREFIX]/Binding/Attributes/BindableClusterList/Reported
[PREFIX]/Binding/Attributes/BindableClusterList/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster BindableClusterList Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for BindableClusterList attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/Binding/Attributes/BindableClusterList/+'
# Example output
ucl/by-unid/<UNID>/ep0/Binding/Attributes/BindableClusterList/Desired { "value": [<DESIRED_BINDABLE_CLUSTER_LIST>,<DESIRED_BINDABLE_CLUSTER_LIST>]}
ucl/by-unid/<UNID>/ep0/Binding/Attributes/BindableClusterList/Reported { "value": [<REPORTED_BINDABLE_CLUSTER_LIST>,<REPORTED_BINDABLE_CLUSTER_LIST>]}
Binding/BindingTable Attribute
MQTT Topic Pattern:
[PREFIX]/Binding/Attributes/BindingTable/Reported
[PREFIX]/Binding/Attributes/BindingTable/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster BindingTable Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "BindingObject"
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for BindingTable attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/Binding/Attributes/BindingTable/+'
# Example output
ucl/by-unid/<UNID>/ep0/Binding/Attributes/BindingTable/Desired { "value": [<DESIRED_BINDING_TABLE>,<DESIRED_BINDING_TABLE>]}
ucl/by-unid/<UNID>/ep0/Binding/Attributes/BindingTable/Reported { "value": [<REPORTED_BINDING_TABLE>,<REPORTED_BINDING_TABLE>]}
Binding/ClusterRevision Attribute
MQTT Topic Pattern:
[PREFIX]/Binding/Attributes/ClusterRevision/Reported
[PREFIX]/Binding/Attributes/ClusterRevision/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding 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>/Binding/Attributes/ClusterRevision/+'
# Example output
ucl/by-unid/<UNID>/<EP>/Binding/Attributes/ClusterRevision/Desired { "value": <DESIRED_CLUSTER_REVISION> }
ucl/by-unid/<UNID>/<EP>/Binding/Attributes/ClusterRevision/Reported { "value": <REPORTED_CLUSTER_REVISION> }
Binding Command Support
MQTT Topic Pattern:
[PREFIX]/Binding/SupportedCommands
[PREFIX]/Binding/SupportedGeneratedCommands
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
"Bind",
"Unbind",
"BindToProtocolController",
"UnbindFromProtocolController",
"WriteAttributes",
"ForceReadAttributes"
]
}
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see supported commands for Binding cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Binding/SupportedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/Binding/SupportedCommands { "value": ["Bind","Unbind","BindToProtocolController","UnbindFromProtocolController","WriteAttributes", "ForceReadAttributes"] }
To see supported generated commands for Binding cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Binding/SupportedGeneratedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/Binding/SupportedGeneratedCommands { "value": [] }
Binding Commands
Binding/Bind Command
MQTT Topic Pattern:
[PREFIX]/Binding/Commands/Bind
[PREFIX]/Binding/GeneratedCommands/Bind
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster Bind Command Properties",
"type": "object",
"properties": {
"ClusterName": {
"type": "string"
},
"DestinationUnid": {
"type": "string"
},
"DestinationEp": {
"type": "integer"
}
},
"required": [
"ClusterName",
"DestinationUnid",
"DestinationEp"
]
}
Example Mosquitto CLI Tool Usage
To send a Binding/Bind command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Binding/Commands/Bind' -m '{ "ClusterName": <CLUSTER_NAME_VALUE>,"DestinationUnid": <DESTINATION_UNID_VALUE>,"DestinationEp": <DESTINATION_EP_VALUE> }'
To receive a Binding/Bind generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Binding/GeneratedCommands/Bind'
Binding/Unbind Command
MQTT Topic Pattern:
[PREFIX]/Binding/Commands/Unbind
[PREFIX]/Binding/GeneratedCommands/Unbind
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster Unbind Command Properties",
"type": "object",
"properties": {
"ClusterName": {
"type": "string"
},
"DestinationUnid": {
"type": "string"
},
"DestinationEp": {
"type": "integer"
}
},
"required": [
"ClusterName",
"DestinationUnid",
"DestinationEp"
]
}
Example Mosquitto CLI Tool Usage
To send a Binding/Unbind command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Binding/Commands/Unbind' -m '{ "ClusterName": <CLUSTER_NAME_VALUE>,"DestinationUnid": <DESTINATION_UNID_VALUE>,"DestinationEp": <DESTINATION_EP_VALUE> }'
To receive a Binding/Unbind generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Binding/GeneratedCommands/Unbind'
Binding/BindToProtocolController Command
MQTT Topic Pattern:
[PREFIX]/Binding/Commands/BindToProtocolController
[PREFIX]/Binding/GeneratedCommands/BindToProtocolController
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster BindToProtocolController Command Properties",
"type": "object",
"properties": {
"ClusterName": {
"type": "string"
}
},
"required": [
"ClusterName"
]
}
Example Mosquitto CLI Tool Usage
To send a Binding/BindToProtocolController command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Binding/Commands/BindToProtocolController' -m '{ "ClusterName": <CLUSTER_NAME_VALUE> }'
To receive a Binding/BindToProtocolController generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Binding/GeneratedCommands/BindToProtocolController'
Binding/UnbindFromProtocolController Command
MQTT Topic Pattern:
[PREFIX]/Binding/Commands/UnbindFromProtocolController
[PREFIX]/Binding/GeneratedCommands/UnbindFromProtocolController
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster UnbindFromProtocolController Command Properties",
"type": "object",
"properties": {
"ClusterName": {
"type": "string"
}
},
"required": [
"ClusterName"
]
}
Example Mosquitto CLI Tool Usage
To send a Binding/UnbindFromProtocolController command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Binding/Commands/UnbindFromProtocolController' -m '{ "ClusterName": <CLUSTER_NAME_VALUE> }'
To receive a Binding/UnbindFromProtocolController generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Binding/GeneratedCommands/UnbindFromProtocolController'
Binding/WriteAttributes Command
MQTT Topic Pattern:
[PREFIX]/Binding/Commands/WriteAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster WriteAttributes Command Properties",
"type": "object",
"properties": {
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To update all Binding attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Binding/Commands/WriteAttributes' -m '{ }'
NOTE: Specify only the list of attributes to write in this command. Unspecified attributes will not be updated.
Binding/ForceReadAttributes Command
MQTT Topic Pattern:
[PREFIX]/Binding/Commands/ForceReadAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Binding Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"BindingTableFull",
"BindableClusterList",
"BindingTable"
]
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To force read all Binding attributes under the by-unid topic space (by sending an empty array):
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Binding/Commands/ForceReadAttributes' -m '{ "value": [] }'
To force read one of the Binding attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Binding/Commands/ForceReadAttributes' -m '{ "value": ["BindingTableFull"] }'