The following commands and attributes are accepted as JSON payloads for the BarrierControl cluster.
BarrierControl Attributes
The following attribute topics are used to retrieve the BarrierControl cluster state.
BarrierControl/MovingState Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/MovingState/Reported
[PREFIX]/BarrierControl/Attributes/MovingState/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster MovingState Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "BarrierControlMovingState"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for MovingState attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/MovingState/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/MovingState/Desired { "value": <DESIRED_MOVING_STATE>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/MovingState/Reported { "value": <REPORTED_MOVING_STATE>}
BarrierControl/SafetyStatus Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/SafetyStatus/Reported
[PREFIX]/BarrierControl/Attributes/SafetyStatus/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster SafetyStatus Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "BarrierControlSafetyStatus"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for SafetyStatus attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/SafetyStatus/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/SafetyStatus/Desired { "value": <DESIRED_SAFETY_STATUS>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/SafetyStatus/Reported { "value": <REPORTED_SAFETY_STATUS>}
BarrierControl/Capabilities Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/Capabilities/Reported
[PREFIX]/BarrierControl/Attributes/Capabilities/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster Capabilities Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "BarrierControlCapabilities"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for Capabilities attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/Capabilities/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/Capabilities/Desired { "value": <DESIRED_CAPABILITIES>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/Capabilities/Reported { "value": <REPORTED_CAPABILITIES>}
BarrierControl/OpenEvents Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/OpenEvents/Reported
[PREFIX]/BarrierControl/Attributes/OpenEvents/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster OpenEvents Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for OpenEvents attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/OpenEvents/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/OpenEvents/Desired { "value": <DESIRED_OPEN_EVENTS>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/OpenEvents/Reported { "value": <REPORTED_OPEN_EVENTS>}
BarrierControl/CloseEvents Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/CloseEvents/Reported
[PREFIX]/BarrierControl/Attributes/CloseEvents/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster CloseEvents Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for CloseEvents attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/CloseEvents/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/CloseEvents/Desired { "value": <DESIRED_CLOSE_EVENTS>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/CloseEvents/Reported { "value": <REPORTED_CLOSE_EVENTS>}
BarrierControl/CommandOpenEvents Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/CommandOpenEvents/Reported
[PREFIX]/BarrierControl/Attributes/CommandOpenEvents/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster CommandOpenEvents Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for CommandOpenEvents attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/CommandOpenEvents/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/CommandOpenEvents/Desired { "value": <DESIRED_COMMAND_OPEN_EVENTS>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/CommandOpenEvents/Reported { "value": <REPORTED_COMMAND_OPEN_EVENTS>}
BarrierControl/CommandCloseEvents Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/CommandCloseEvents/Reported
[PREFIX]/BarrierControl/Attributes/CommandCloseEvents/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster CommandCloseEvents Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for CommandCloseEvents attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/CommandCloseEvents/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/CommandCloseEvents/Desired { "value": <DESIRED_COMMAND_CLOSE_EVENTS>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/CommandCloseEvents/Reported { "value": <REPORTED_COMMAND_CLOSE_EVENTS>}
BarrierControl/OpenPeriod Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/OpenPeriod/Reported
[PREFIX]/BarrierControl/Attributes/OpenPeriod/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster OpenPeriod Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for OpenPeriod attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/OpenPeriod/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/OpenPeriod/Desired { "value": <DESIRED_OPEN_PERIOD>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/OpenPeriod/Reported { "value": <REPORTED_OPEN_PERIOD>}
BarrierControl/ClosePeriod Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/ClosePeriod/Reported
[PREFIX]/BarrierControl/Attributes/ClosePeriod/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster ClosePeriod Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for ClosePeriod attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/ClosePeriod/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/ClosePeriod/Desired { "value": <DESIRED_CLOSE_PERIOD>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/ClosePeriod/Reported { "value": <REPORTED_CLOSE_PERIOD>}
BarrierControl/BarrierPosition Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/BarrierPosition/Reported
[PREFIX]/BarrierControl/Attributes/BarrierPosition/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster BarrierPosition Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for BarrierPosition attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/BarrierControl/Attributes/BarrierPosition/+'
# Example output
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/BarrierPosition/Desired { "value": <DESIRED_BARRIER_POSITION>}
ucl/by-unid/<UNID>/ep0/BarrierControl/Attributes/BarrierPosition/Reported { "value": <REPORTED_BARRIER_POSITION>}
BarrierControl/ClusterRevision Attribute
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Attributes/ClusterRevision/Reported
[PREFIX]/BarrierControl/Attributes/ClusterRevision/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl 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>/BarrierControl/Attributes/ClusterRevision/+'
# Example output
ucl/by-unid/<UNID>/<EP>/BarrierControl/Attributes/ClusterRevision/Desired { "value": <DESIRED_CLUSTER_REVISION> }
ucl/by-unid/<UNID>/<EP>/BarrierControl/Attributes/ClusterRevision/Reported { "value": <REPORTED_CLUSTER_REVISION> }
BarrierControl Command Support
MQTT Topic Pattern:
[PREFIX]/BarrierControl/SupportedCommands
[PREFIX]/BarrierControl/SupportedGeneratedCommands
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
"GoToPercent",
"Stop",
"WriteAttributes",
"ForceReadAttributes"
]
}
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see supported commands for BarrierControl cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/SupportedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/BarrierControl/SupportedCommands { "value": ["GoToPercent","Stop","WriteAttributes", "ForceReadAttributes"] }
To see supported generated commands for BarrierControl cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/SupportedGeneratedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/BarrierControl/SupportedGeneratedCommands { "value": [] }
BarrierControl Commands
BarrierControl/GoToPercent Command
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Commands/GoToPercent
[PREFIX]/BarrierControl/GeneratedCommands/GoToPercent
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster GoToPercent Command Properties",
"type": "object",
"properties": {
"PercentOpen": {
"type": "integer"
}
},
"required": [
"PercentOpen"
]
}
Example Mosquitto CLI Tool Usage
To send a BarrierControl/GoToPercent command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/Commands/GoToPercent' -m '{ "PercentOpen": <PERCENT_OPEN_VALUE> }'
To receive a BarrierControl/GoToPercent generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/GeneratedCommands/GoToPercent'
BarrierControl/Stop Command
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Commands/Stop
[PREFIX]/BarrierControl/GeneratedCommands/Stop
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster Stop Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}
Example Mosquitto CLI Tool Usage
To send a BarrierControl/Stop command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/Commands/Stop' -m '{ }'
To receive a BarrierControl/Stop generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/GeneratedCommands/Stop'
BarrierControl/WriteAttributes Command
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Commands/WriteAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster WriteAttributes Command Properties",
"type": "object",
"properties": {
"OpenEvents": {
"type": "integer"
},
"CloseEvents": {
"type": "integer"
},
"CommandOpenEvents": {
"type": "integer"
},
"CommandCloseEvents": {
"type": "integer"
},
"OpenPeriod": {
"type": "integer"
},
"ClosePeriod": {
"type": "integer"
},
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To update all BarrierControl attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/Commands/WriteAttributes' -m '{ "OpenEvents": <OPEN_EVENTS_VALUE> ,"CloseEvents": <CLOSE_EVENTS_VALUE> ,"CommandOpenEvents": <COMMAND_OPEN_EVENTS_VALUE> ,"CommandCloseEvents": <COMMAND_CLOSE_EVENTS_VALUE> ,"OpenPeriod": <OPEN_PERIOD_VALUE> ,"ClosePeriod": <CLOSE_PERIOD_VALUE> , }'
NOTE: Specify only the list of attributes to write in this command. Unspecified attributes will not be updated.
BarrierControl/ForceReadAttributes Command
MQTT Topic Pattern:
[PREFIX]/BarrierControl/Commands/ForceReadAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "BarrierControl Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"MovingState",
"SafetyStatus",
"Capabilities",
"OpenEvents",
"CloseEvents",
"CommandOpenEvents",
"CommandCloseEvents",
"OpenPeriod",
"ClosePeriod",
"BarrierPosition"
]
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To force read all BarrierControl attributes under the by-unid topic space (by sending an empty array):
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/Commands/ForceReadAttributes' -m '{ "value": [] }'
To force read one of the BarrierControl attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/BarrierControl/Commands/ForceReadAttributes' -m '{ "value": ["MovingState"] }'