Unify Framework UCL MQTT Reference 1.7.0
All Files Pages
Groups Cluster

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