Unify Framework UCL MQTT Reference 1.7.0
All Files Pages
State Cluster

The following commands and attributes are accepted as JSON payloads for the State cluster.



State Attributes

The following attribute topics are used to retrieve the State cluster state.


State/EndpointIdList Attribute

MQTT Topic Pattern:

[PREFIX]/State/Attributes/EndpointIdList/Reported
[PREFIX]/State/Attributes/EndpointIdList/Desired

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster EndpointIdList Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "integer"
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To see desired/reported value for EndpointIdList attribute under the by-unid topic space:

mosquitto_sub -t 'ucl/by-unid/+/State/Attributes/EndpointIdList/+'
# Example output
ucl/by-unid/<UNID>/State/Attributes/EndpointIdList/Desired { "value": [<DESIRED_ENDPOINT_ID_LIST>,<DESIRED_ENDPOINT_ID_LIST>]}
ucl/by-unid/<UNID>/State/Attributes/EndpointIdList/Reported { "value": [<REPORTED_ENDPOINT_ID_LIST>,<REPORTED_ENDPOINT_ID_LIST>]}



State/NetworkStatus Attribute

MQTT Topic Pattern:

[PREFIX]/State/Attributes/NetworkStatus/Reported
[PREFIX]/State/Attributes/NetworkStatus/Desired

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster NetworkStatus Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "NodeStateNetworkStatus"
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To see desired/reported value for NetworkStatus attribute under the by-unid topic space:

mosquitto_sub -t 'ucl/by-unid/+/State/Attributes/NetworkStatus/+'
# Example output
ucl/by-unid/<UNID>/State/Attributes/NetworkStatus/Desired { "value": <DESIRED_NETWORK_STATUS>}
ucl/by-unid/<UNID>/State/Attributes/NetworkStatus/Reported { "value": <REPORTED_NETWORK_STATUS>}



State/Security Attribute

MQTT Topic Pattern:

[PREFIX]/State/Attributes/Security/Reported
[PREFIX]/State/Attributes/Security/Desired

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster Security Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "NodeStateSecurity"
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To see desired/reported value for Security attribute under the by-unid topic space:

mosquitto_sub -t 'ucl/by-unid/+/State/Attributes/Security/+'
# Example output
ucl/by-unid/<UNID>/State/Attributes/Security/Desired { "value": <DESIRED_SECURITY>}
ucl/by-unid/<UNID>/State/Attributes/Security/Reported { "value": <REPORTED_SECURITY>}



State/MaximumCommandDelay Attribute

MQTT Topic Pattern:

[PREFIX]/State/Attributes/MaximumCommandDelay/Reported
[PREFIX]/State/Attributes/MaximumCommandDelay/Desired

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster MaximumCommandDelay Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To see desired/reported value for MaximumCommandDelay attribute under the by-unid topic space:

mosquitto_sub -t 'ucl/by-unid/+/State/Attributes/MaximumCommandDelay/+'
# Example output
ucl/by-unid/<UNID>/State/Attributes/MaximumCommandDelay/Desired { "value": <DESIRED_MAXIMUM_COMMAND_DELAY>}
ucl/by-unid/<UNID>/State/Attributes/MaximumCommandDelay/Reported { "value": <REPORTED_MAXIMUM_COMMAND_DELAY>}



State/NetworkList Attribute

MQTT Topic Pattern:

[PREFIX]/State/Attributes/NetworkList/Reported
[PREFIX]/State/Attributes/NetworkList/Desired

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster NetworkList Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To see desired/reported value for NetworkList attribute under the by-unid topic space:

mosquitto_sub -t 'ucl/by-unid/+/State/Attributes/NetworkList/+'
# Example output
ucl/by-unid/<UNID>/State/Attributes/NetworkList/Desired { "value": [<DESIRED_NETWORK_LIST>,<DESIRED_NETWORK_LIST>]}
ucl/by-unid/<UNID>/State/Attributes/NetworkList/Reported { "value": [<REPORTED_NETWORK_LIST>,<REPORTED_NETWORK_LIST>]}



State/ClusterRevision Attribute

MQTT Topic Pattern:

[PREFIX]/State/Attributes/ClusterRevision/Reported
[PREFIX]/State/Attributes/ClusterRevision/Desired

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State 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>/State/Attributes/ClusterRevision/+'
# Example output
ucl/by-unid/<UNID>/<EP>/State/Attributes/ClusterRevision/Desired { "value": <DESIRED_CLUSTER_REVISION> }
ucl/by-unid/<UNID>/<EP>/State/Attributes/ClusterRevision/Reported { "value": <REPORTED_CLUSTER_REVISION> }



State Command Support

MQTT Topic Pattern:

[PREFIX]/State/SupportedCommands
[PREFIX]/State/SupportedGeneratedCommands

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
"Remove",
"RemoveOffline",
"DiscoverNeighbors",
"Interview",
"DiscoverSecurity",
"EnableNls",
"WriteAttributes",
"ForceReadAttributes"
]
}
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To see supported commands for State cluster under the by-unid topic space:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/SupportedCommands'
# Example output
ucl/by-unid/<UNID>/State/SupportedCommands { "value": ["Remove","RemoveOffline","DiscoverNeighbors","Interview","DiscoverSecurity","EnableNls","WriteAttributes", "ForceReadAttributes"] }

To see supported generated commands for State cluster under the by-unid topic space:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/SupportedGeneratedCommands'
# Example output
ucl/by-unid/<UNID>/State/SupportedGeneratedCommands { "value": [] }



State Commands



State/Remove Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/Remove
[PREFIX]/State/GeneratedCommands/Remove

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster Remove Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}

Example Mosquitto CLI Tool Usage

To send a State/Remove command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/State/Commands/Remove' -m '{ }'

To receive a State/Remove generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/GeneratedCommands/Remove'



State/RemoveOffline Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/RemoveOffline
[PREFIX]/State/GeneratedCommands/RemoveOffline

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster RemoveOffline Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}

Example Mosquitto CLI Tool Usage

To send a State/RemoveOffline command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/State/Commands/RemoveOffline' -m '{ }'

To receive a State/RemoveOffline generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/GeneratedCommands/RemoveOffline'



State/DiscoverNeighbors Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/DiscoverNeighbors
[PREFIX]/State/GeneratedCommands/DiscoverNeighbors

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster DiscoverNeighbors Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}

Example Mosquitto CLI Tool Usage

To send a State/DiscoverNeighbors command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/State/Commands/DiscoverNeighbors' -m '{ }'

To receive a State/DiscoverNeighbors generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/GeneratedCommands/DiscoverNeighbors'



State/Interview Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/Interview
[PREFIX]/State/GeneratedCommands/Interview

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster Interview Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}

Example Mosquitto CLI Tool Usage

To send a State/Interview command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/State/Commands/Interview' -m '{ }'

To receive a State/Interview generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/GeneratedCommands/Interview'



State/DiscoverSecurity Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/DiscoverSecurity
[PREFIX]/State/GeneratedCommands/DiscoverSecurity

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster DiscoverSecurity Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}

Example Mosquitto CLI Tool Usage

To send a State/DiscoverSecurity command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/State/Commands/DiscoverSecurity' -m '{ }'

To receive a State/DiscoverSecurity generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/GeneratedCommands/DiscoverSecurity'



State/EnableNls Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/EnableNls
[PREFIX]/State/GeneratedCommands/EnableNls

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster EnableNls Command Properties",
"type": "object",
"properties": {
},
"required": [
]
}

Example Mosquitto CLI Tool Usage

To send a State/EnableNls command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/State/Commands/EnableNls' -m '{ }'

To receive a State/EnableNls generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/State/GeneratedCommands/EnableNls'



State/WriteAttributes Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/WriteAttributes

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster WriteAttributes Command Properties",
"type": "object",
"properties": {
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To update all State attributes under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/State/Commands/WriteAttributes' -m '{ }'

‍NOTE: Specify only the list of attributes to write in this command. Unspecified attributes will not be updated.



State/ForceReadAttributes Command

MQTT Topic Pattern:

[PREFIX]/State/Commands/ForceReadAttributes

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "State Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"EndpointIdList",
"NetworkStatus",
"Security",
"MaximumCommandDelay",
"NetworkList"
]
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

To force read all State attributes under the by-unid topic space (by sending an empty array):

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/State/Commands/ForceReadAttributes' -m '{ "value": [] }'

To force read one of the State attributes under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/State/Commands/ForceReadAttributes' -m '{ "value": ["EndpointIdList"] }'