The following commands and attributes are accepted as JSON payloads for the Groups cluster.
Groups Attributes
The following attribute topics are used to retrieve the Groups cluster state.
Groups/NameSupport Attribute
MQTT Topic Pattern:
[PREFIX]/Groups/Attributes/NameSupport/Reported
[PREFIX]/Groups/Attributes/NameSupport/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster NameSupport Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "GroupsNameSupport"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for NameSupport attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/Groups/Attributes/NameSupport/+'
# Example output
ucl/by-unid/<UNID>/ep0/Groups/Attributes/NameSupport/Desired { "value": <DESIRED_NAME_SUPPORT>}
ucl/by-unid/<UNID>/ep0/Groups/Attributes/NameSupport/Reported { "value": <REPORTED_NAME_SUPPORT>}
Groups/ClusterRevision Attribute
MQTT Topic Pattern:
[PREFIX]/Groups/Attributes/ClusterRevision/Reported
[PREFIX]/Groups/Attributes/ClusterRevision/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups 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>/Groups/Attributes/ClusterRevision/+'
# Example output
ucl/by-unid/<UNID>/<EP>/Groups/Attributes/ClusterRevision/Desired { "value": <DESIRED_CLUSTER_REVISION> }
ucl/by-unid/<UNID>/<EP>/Groups/Attributes/ClusterRevision/Reported { "value": <REPORTED_CLUSTER_REVISION> }
Groups Command Support
MQTT Topic Pattern:
[PREFIX]/Groups/SupportedCommands
[PREFIX]/Groups/SupportedGeneratedCommands
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
"AddGroup",
"AddGroupResponse",
"ViewGroup",
"ViewGroupResponse",
"GetGroupMembership",
"GetGroupMembershipResponse",
"RemoveGroup",
"RemoveGroupResponse",
"RemoveAllGroups",
"AddGroupIfIdentifying",
"WriteAttributes",
"ForceReadAttributes"
]
}
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see supported commands for Groups cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/SupportedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/Groups/SupportedCommands { "value": ["AddGroup","ViewGroup","GetGroupMembership","RemoveGroup","RemoveAllGroups","AddGroupIfIdentifying","WriteAttributes", "ForceReadAttributes"] }
To see supported generated commands for Groups cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/SupportedGeneratedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/Groups/SupportedGeneratedCommands { "value": ["AddGroupResponse","ViewGroupResponse","GetGroupMembershipResponse","RemoveGroupResponse",] }
Groups Commands
Groups/AddGroup Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/AddGroup
[PREFIX]/Groups/GeneratedCommands/AddGroup
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster AddGroup Command Properties",
"type": "object",
"properties": {
"GroupId": {
"type": "integer"
},
"GroupName": {
"type": "string"
}
},
"required": [
"GroupId",
"GroupName"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/AddGroup command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/AddGroup' -m '{ "GroupId": <GROUP_ID_VALUE>,"GroupName": <GROUP_NAME_VALUE> }'
To receive a Groups/AddGroup generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/AddGroup'
Groups/AddGroupResponse Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/AddGroupResponse
[PREFIX]/Groups/GeneratedCommands/AddGroupResponse
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster AddGroupResponse Command Properties",
"type": "object",
"properties": {
"Status": {
"type": "AddGroupResponseStatus"
},
"GroupId": {
"type": "integer"
}
},
"required": [
"Status",
"GroupId"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/AddGroupResponse command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/AddGroupResponse' -m '{ "Status": <STATUS_VALUE>,"GroupId": <GROUP_ID_VALUE> }'
To receive a Groups/AddGroupResponse generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/AddGroupResponse'
Groups/ViewGroup Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/ViewGroup
[PREFIX]/Groups/GeneratedCommands/ViewGroup
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster ViewGroup Command Properties",
"type": "object",
"properties": {
"GroupId": {
"type": "integer"
}
},
"required": [
"GroupId"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/ViewGroup command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/ViewGroup' -m '{ "GroupId": <GROUP_ID_VALUE> }'
To receive a Groups/ViewGroup generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/ViewGroup'
Groups/ViewGroupResponse Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/ViewGroupResponse
[PREFIX]/Groups/GeneratedCommands/ViewGroupResponse
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster ViewGroupResponse Command Properties",
"type": "object",
"properties": {
"Status": {
"type": "ViewGroupResponseStatus"
},
"GroupId": {
"type": "integer"
},
"GroupName": {
"type": "string"
}
},
"required": [
"Status",
"GroupId",
"GroupName"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/ViewGroupResponse command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/ViewGroupResponse' -m '{ "Status": <STATUS_VALUE>,"GroupId": <GROUP_ID_VALUE>,"GroupName": <GROUP_NAME_VALUE> }'
To receive a Groups/ViewGroupResponse generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/ViewGroupResponse'
Groups/GetGroupMembership Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/GetGroupMembership
[PREFIX]/Groups/GeneratedCommands/GetGroupMembership
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster GetGroupMembership Command Properties",
"type": "object",
"properties": {
"GroupList": {
"type": "array",
"items": {
"type": "integer"
}
},
"required": [
"GroupList"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/GetGroupMembership command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/GetGroupMembership' -m '{ "GroupList": <GROUP_LIST_VALUE> }'
To receive a Groups/GetGroupMembership generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/GetGroupMembership'
Groups/GetGroupMembershipResponse Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/GetGroupMembershipResponse
[PREFIX]/Groups/GeneratedCommands/GetGroupMembershipResponse
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster GetGroupMembershipResponse Command Properties",
"type": "object",
"properties": {
"Capacity": {
"type": "integer"
},
"GroupList": {
"type": "array",
"items": {
"type": "integer"
}
},
"required": [
"Capacity",
"GroupList"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/GetGroupMembershipResponse command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/GetGroupMembershipResponse' -m '{ "Capacity": <CAPACITY_VALUE>,"GroupList": <GROUP_LIST_VALUE> }'
To receive a Groups/GetGroupMembershipResponse generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/GetGroupMembershipResponse'
Groups/RemoveGroup Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/RemoveGroup
[PREFIX]/Groups/GeneratedCommands/RemoveGroup
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster RemoveGroup Command Properties",
"type": "object",
"properties": {
"GroupId": {
"type": "integer"
}
},
"required": [
"GroupId"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/RemoveGroup command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/RemoveGroup' -m '{ "GroupId": <GROUP_ID_VALUE> }'
To receive a Groups/RemoveGroup generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/RemoveGroup'
Groups/RemoveGroupResponse Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/RemoveGroupResponse
[PREFIX]/Groups/GeneratedCommands/RemoveGroupResponse
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster RemoveGroupResponse Command Properties",
"type": "object",
"properties": {
"Status": {
"type": "RemoveGroupResponseStatus"
},
"GroupId": {
"type": "integer"
}
},
"required": [
"Status",
"GroupId"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/RemoveGroupResponse command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/RemoveGroupResponse' -m '{ "Status": <STATUS_VALUE>,"GroupId": <GROUP_ID_VALUE> }'
To receive a Groups/RemoveGroupResponse generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/RemoveGroupResponse'
Groups/RemoveAllGroups Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/RemoveAllGroups
[PREFIX]/Groups/GeneratedCommands/RemoveAllGroups
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster RemoveAllGroups Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/RemoveAllGroups command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/RemoveAllGroups' -m '{ }'
To receive a Groups/RemoveAllGroups generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/RemoveAllGroups'
Groups/AddGroupIfIdentifying Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/AddGroupIfIdentifying
[PREFIX]/Groups/GeneratedCommands/AddGroupIfIdentifying
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster AddGroupIfIdentifying Command Properties",
"type": "object",
"properties": {
"GroupId": {
"type": "integer"
},
"GroupName": {
"type": "string"
}
},
"required": [
"GroupId",
"GroupName"
]
}
Example Mosquitto CLI Tool Usage
To send a Groups/AddGroupIfIdentifying command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/AddGroupIfIdentifying' -m '{ "GroupId": <GROUP_ID_VALUE>,"GroupName": <GROUP_NAME_VALUE> }'
To receive a Groups/AddGroupIfIdentifying generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Groups/GeneratedCommands/AddGroupIfIdentifying'
Groups/WriteAttributes Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/WriteAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster WriteAttributes Command Properties",
"type": "object",
"properties": {
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To update all Groups attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/WriteAttributes' -m '{ }'
NOTE: Specify only the list of attributes to write in this command. Unspecified attributes will not be updated.
Groups/ForceReadAttributes Command
MQTT Topic Pattern:
[PREFIX]/Groups/Commands/ForceReadAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Groups Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"NameSupport"
]
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To force read all Groups attributes under the by-unid topic space (by sending an empty array):
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/ForceReadAttributes' -m '{ "value": [] }'
To force read one of the Groups attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Groups/Commands/ForceReadAttributes' -m '{ "value": ["NameSupport"] }'