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