Unify Framework UCL MQTT Reference 1.7.0
All Files Pages
Level Cluster

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



Level Attributes

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


Level/CurrentLevel Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/CurrentLevel/Reported
[PREFIX]/Level/Attributes/CurrentLevel/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/CurrentLevel/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/CurrentLevel/Desired { "value": <DESIRED_CURRENT_LEVEL>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/CurrentLevel/Reported { "value": <REPORTED_CURRENT_LEVEL>}



Level/RemainingTime Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/RemainingTime/Reported
[PREFIX]/Level/Attributes/RemainingTime/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/RemainingTime/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/RemainingTime/Desired { "value": <DESIRED_REMAINING_TIME>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/RemainingTime/Reported { "value": <REPORTED_REMAINING_TIME>}



Level/MinLevel Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/MinLevel/Reported
[PREFIX]/Level/Attributes/MinLevel/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/MinLevel/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/MinLevel/Desired { "value": <DESIRED_MIN_LEVEL>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/MinLevel/Reported { "value": <REPORTED_MIN_LEVEL>}



Level/MaxLevel Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/MaxLevel/Reported
[PREFIX]/Level/Attributes/MaxLevel/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/MaxLevel/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/MaxLevel/Desired { "value": <DESIRED_MAX_LEVEL>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/MaxLevel/Reported { "value": <REPORTED_MAX_LEVEL>}



Level/CurrentFrequency Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/CurrentFrequency/Reported
[PREFIX]/Level/Attributes/CurrentFrequency/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/CurrentFrequency/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/CurrentFrequency/Desired { "value": <DESIRED_CURRENT_FREQUENCY>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/CurrentFrequency/Reported { "value": <REPORTED_CURRENT_FREQUENCY>}



Level/MinFrequency Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/MinFrequency/Reported
[PREFIX]/Level/Attributes/MinFrequency/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/MinFrequency/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/MinFrequency/Desired { "value": <DESIRED_MIN_FREQUENCY>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/MinFrequency/Reported { "value": <REPORTED_MIN_FREQUENCY>}



Level/MaxFrequency Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/MaxFrequency/Reported
[PREFIX]/Level/Attributes/MaxFrequency/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/MaxFrequency/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/MaxFrequency/Desired { "value": <DESIRED_MAX_FREQUENCY>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/MaxFrequency/Reported { "value": <REPORTED_MAX_FREQUENCY>}



Level/Options Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/Options/Reported
[PREFIX]/Level/Attributes/Options/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/Options/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/Options/Desired { "value": <DESIRED_OPTIONS>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/Options/Reported { "value": <REPORTED_OPTIONS>}



Level/OnOffTransitionTime Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/OnOffTransitionTime/Reported
[PREFIX]/Level/Attributes/OnOffTransitionTime/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/OnOffTransitionTime/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/OnOffTransitionTime/Desired { "value": <DESIRED_ON_OFF_TRANSITION_TIME>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/OnOffTransitionTime/Reported { "value": <REPORTED_ON_OFF_TRANSITION_TIME>}



Level/OnLevel Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/OnLevel/Reported
[PREFIX]/Level/Attributes/OnLevel/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/OnLevel/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/OnLevel/Desired { "value": <DESIRED_ON_LEVEL>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/OnLevel/Reported { "value": <REPORTED_ON_LEVEL>}



Level/OnTransitionTime Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/OnTransitionTime/Reported
[PREFIX]/Level/Attributes/OnTransitionTime/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/OnTransitionTime/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/OnTransitionTime/Desired { "value": <DESIRED_ON_TRANSITION_TIME>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/OnTransitionTime/Reported { "value": <REPORTED_ON_TRANSITION_TIME>}



Level/OffTransitionTime Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/OffTransitionTime/Reported
[PREFIX]/Level/Attributes/OffTransitionTime/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/OffTransitionTime/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/OffTransitionTime/Desired { "value": <DESIRED_OFF_TRANSITION_TIME>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/OffTransitionTime/Reported { "value": <REPORTED_OFF_TRANSITION_TIME>}



Level/DefaultMoveRate Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/DefaultMoveRate/Reported
[PREFIX]/Level/Attributes/DefaultMoveRate/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/DefaultMoveRate/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/DefaultMoveRate/Desired { "value": <DESIRED_DEFAULT_MOVE_RATE>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/DefaultMoveRate/Reported { "value": <REPORTED_DEFAULT_MOVE_RATE>}



Level/StartUpCurrentLevel Attribute

MQTT Topic Pattern:

[PREFIX]/Level/Attributes/StartUpCurrentLevel/Reported
[PREFIX]/Level/Attributes/StartUpCurrentLevel/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/Level/Attributes/StartUpCurrentLevel/+'
# Example output
ucl/by-unid/<UNID>/ep0/Level/Attributes/StartUpCurrentLevel/Desired { "value": <DESIRED_START_UP_CURRENT_LEVEL>}
ucl/by-unid/<UNID>/ep0/Level/Attributes/StartUpCurrentLevel/Reported { "value": <REPORTED_START_UP_CURRENT_LEVEL>}



Level/ClusterRevision Attribute

MQTT Topic Pattern:

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

MQTT Payload JSON Schema:

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



Level Command Support

MQTT Topic Pattern:

[PREFIX]/Level/SupportedCommands
[PREFIX]/Level/SupportedGeneratedCommands

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
"MoveToLevel",
"Move",
"Step",
"Stop",
"MoveToLevelWithOnOff",
"MoveWithOnOff",
"StepWithOnOff",
"StopWithOnOff",
"MoveToClosestFrequency",
"WriteAttributes",
"ForceReadAttributes"
]
}
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/SupportedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/Level/SupportedCommands { "value": ["MoveToLevel","Move","Step","Stop","MoveToLevelWithOnOff","MoveWithOnOff","StepWithOnOff","StopWithOnOff","MoveToClosestFrequency","WriteAttributes", "ForceReadAttributes"] }

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

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



Level Commands



Level/MoveToLevel Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/MoveToLevel
[PREFIX]/Level/GeneratedCommands/MoveToLevel

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster MoveToLevel Command Properties",
"type": "object",
"properties": {
"Level": {
"type": "integer"
},
"TransitionTime": {
"type": "integer"
},
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"Level",
"TransitionTime",
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/MoveToLevel command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/MoveToLevel' -m '{ "Level": <LEVEL_VALUE>,"TransitionTime": <TRANSITION_TIME_VALUE>,"OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/MoveToLevel generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/MoveToLevel'



Level/Move Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/Move
[PREFIX]/Level/GeneratedCommands/Move

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster Move Command Properties",
"type": "object",
"properties": {
"MoveMode": {
"type": "MoveStepMode"
},
"Rate": {
"type": "integer"
},
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"MoveMode",
"Rate",
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/Move command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/Move' -m '{ "MoveMode": <MOVE_MODE_VALUE>,"Rate": <RATE_VALUE>,"OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/Move generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/Move'



Level/Step Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/Step
[PREFIX]/Level/GeneratedCommands/Step

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster Step Command Properties",
"type": "object",
"properties": {
"StepMode": {
"type": "MoveStepMode"
},
"StepSize": {
"type": "integer"
},
"TransitionTime": {
"type": "integer"
},
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"StepMode",
"StepSize",
"TransitionTime",
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/Step command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/Step' -m '{ "StepMode": <STEP_MODE_VALUE>,"StepSize": <STEP_SIZE_VALUE>,"TransitionTime": <TRANSITION_TIME_VALUE>,"OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/Step generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/Step'



Level/Stop Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/Stop
[PREFIX]/Level/GeneratedCommands/Stop

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster Stop Command Properties",
"type": "object",
"properties": {
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/Stop command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/Stop' -m '{ "OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/Stop generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/Stop'



Level/MoveToLevelWithOnOff Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/MoveToLevelWithOnOff
[PREFIX]/Level/GeneratedCommands/MoveToLevelWithOnOff

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster MoveToLevelWithOnOff Command Properties",
"type": "object",
"properties": {
"Level": {
"type": "integer"
},
"TransitionTime": {
"type": "integer"
},
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"Level",
"TransitionTime",
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/MoveToLevelWithOnOff command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/MoveToLevelWithOnOff' -m '{ "Level": <LEVEL_VALUE>,"TransitionTime": <TRANSITION_TIME_VALUE>,"OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/MoveToLevelWithOnOff generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/MoveToLevelWithOnOff'



Level/MoveWithOnOff Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/MoveWithOnOff
[PREFIX]/Level/GeneratedCommands/MoveWithOnOff

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster MoveWithOnOff Command Properties",
"type": "object",
"properties": {
"MoveMode": {
"type": "MoveStepMode"
},
"Rate": {
"type": "integer"
},
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"MoveMode",
"Rate",
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/MoveWithOnOff command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/MoveWithOnOff' -m '{ "MoveMode": <MOVE_MODE_VALUE>,"Rate": <RATE_VALUE>,"OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/MoveWithOnOff generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/MoveWithOnOff'



Level/StepWithOnOff Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/StepWithOnOff
[PREFIX]/Level/GeneratedCommands/StepWithOnOff

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster StepWithOnOff Command Properties",
"type": "object",
"properties": {
"StepMode": {
"type": "MoveStepMode"
},
"StepSize": {
"type": "integer"
},
"TransitionTime": {
"type": "integer"
},
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"StepMode",
"StepSize",
"TransitionTime",
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/StepWithOnOff command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/StepWithOnOff' -m '{ "StepMode": <STEP_MODE_VALUE>,"StepSize": <STEP_SIZE_VALUE>,"TransitionTime": <TRANSITION_TIME_VALUE>,"OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/StepWithOnOff generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/StepWithOnOff'



Level/StopWithOnOff Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/StopWithOnOff
[PREFIX]/Level/GeneratedCommands/StopWithOnOff

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster StopWithOnOff Command Properties",
"type": "object",
"properties": {
"OptionsMask": {
"type": "LevelOptions"
},
"OptionsOverride": {
"type": "LevelOptions"
}
},
"required": [
"OptionsMask",
"OptionsOverride"
]
}

Example Mosquitto CLI Tool Usage

To send a Level/StopWithOnOff command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/StopWithOnOff' -m '{ "OptionsMask": <OPTIONS_MASK_VALUE>,"OptionsOverride": <OPTIONS_OVERRIDE_VALUE> }'

To receive a Level/StopWithOnOff generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/StopWithOnOff'



Level/MoveToClosestFrequency Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/MoveToClosestFrequency
[PREFIX]/Level/GeneratedCommands/MoveToClosestFrequency

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

To send a Level/MoveToClosestFrequency command under the by-unid topic space:

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/MoveToClosestFrequency' -m '{ "Frequency": <FREQUENCY_VALUE> }'

To receive a Level/MoveToClosestFrequency generated command from a UNID/endpoint:

mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/Level/GeneratedCommands/MoveToClosestFrequency'



Level/WriteAttributes Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/WriteAttributes

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster WriteAttributes Command Properties",
"type": "object",
"properties": {
"Options": {
"type": "LevelOptions"
},
"OnOffTransitionTime": {
"type": "integer"
},
"OnLevel": {
"type": "integer"
},
"OnTransitionTime": {
"type": "integer"
},
"OffTransitionTime": {
"type": "integer"
},
"DefaultMoveRate": {
"type": "integer"
},
"StartUpCurrentLevel": {
"type": "integer"
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

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

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/Level/Commands/WriteAttributes' -m '{ "Options": <OPTIONS_VALUE> ,"OnOffTransitionTime": <ON_OFF_TRANSITION_TIME_VALUE> ,"OnLevel": <ON_LEVEL_VALUE> ,"OnTransitionTime": <ON_TRANSITION_TIME_VALUE> ,"OffTransitionTime": <OFF_TRANSITION_TIME_VALUE> ,"DefaultMoveRate": <DEFAULT_MOVE_RATE_VALUE> ,"StartUpCurrentLevel": <START_UP_CURRENT_LEVEL_VALUE> }'

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



Level/ForceReadAttributes Command

MQTT Topic Pattern:

[PREFIX]/Level/Commands/ForceReadAttributes

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Level Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"CurrentLevel",
"RemainingTime",
"MinLevel",
"MaxLevel",
"CurrentFrequency",
"MinFrequency",
"MaxFrequency",
"Options",
"OnOffTransitionTime",
"OnLevel",
"OnTransitionTime",
"OffTransitionTime",
"DefaultMoveRate",
"StartUpCurrentLevel"
]
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

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

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

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

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