Unify Framework UCL MQTT Reference 1.7.0
All Files Pages
FanControl Cluster

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



FanControl Attributes

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


FanControl/FanMode Attribute

MQTT Topic Pattern:

[PREFIX]/FanControl/Attributes/FanMode/Reported
[PREFIX]/FanControl/Attributes/FanMode/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/FanControl/Attributes/FanMode/+'
# Example output
ucl/by-unid/<UNID>/ep0/FanControl/Attributes/FanMode/Desired { "value": <DESIRED_FAN_MODE>}
ucl/by-unid/<UNID>/ep0/FanControl/Attributes/FanMode/Reported { "value": <REPORTED_FAN_MODE>}



FanControl/FanModeSequence Attribute

MQTT Topic Pattern:

[PREFIX]/FanControl/Attributes/FanModeSequence/Reported
[PREFIX]/FanControl/Attributes/FanModeSequence/Desired

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_sub -t 'ucl/by-unid/+/+/FanControl/Attributes/FanModeSequence/+'
# Example output
ucl/by-unid/<UNID>/ep0/FanControl/Attributes/FanModeSequence/Desired { "value": <DESIRED_FAN_MODE_SEQUENCE>}
ucl/by-unid/<UNID>/ep0/FanControl/Attributes/FanModeSequence/Reported { "value": <REPORTED_FAN_MODE_SEQUENCE>}



FanControl/ClusterRevision Attribute

MQTT Topic Pattern:

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

MQTT Payload JSON Schema:

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



FanControl Command Support

MQTT Topic Pattern:

[PREFIX]/FanControl/SupportedCommands
[PREFIX]/FanControl/SupportedGeneratedCommands

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "FanControl Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
]
}
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

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

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

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

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



FanControl Commands



FanControl/WriteAttributes Command

MQTT Topic Pattern:

[PREFIX]/FanControl/Commands/WriteAttributes

MQTT Payload JSON Schema:

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

Example Mosquitto CLI Tool Usage

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

mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/FanControl/Commands/WriteAttributes' -m '{ "FanMode": <FAN_MODE_VALUE> ,"FanModeSequence": <FAN_MODE_SEQUENCE_VALUE> }'

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



FanControl/ForceReadAttributes Command

MQTT Topic Pattern:

[PREFIX]/FanControl/Commands/ForceReadAttributes

MQTT Payload JSON Schema:

{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "FanControl Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"FanMode",
"FanModeSequence"
]
}
}
},
"required": [
"value"
]
}

Example Mosquitto CLI Tool Usage

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

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

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

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