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