The following commands and attributes are accepted as JSON payloads for the IASWD cluster.
IASWD Attributes
The following attribute topics are used to retrieve the IASWD cluster state.
IASWD/MaxDuration Attribute
MQTT Topic Pattern:
[PREFIX]/IASWD/Attributes/MaxDuration/Reported
[PREFIX]/IASWD/Attributes/MaxDuration/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IASWD Cluster MaxDuration Attribute Properties",
"type": "object",
"properties": {
"value": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see desired/reported value for MaxDuration attribute under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/+/+/IASWD/Attributes/MaxDuration/+'
# Example output
ucl/by-unid/<UNID>/ep0/IASWD/Attributes/MaxDuration/Desired { "value": <DESIRED_MAX_DURATION>}
ucl/by-unid/<UNID>/ep0/IASWD/Attributes/MaxDuration/Reported { "value": <REPORTED_MAX_DURATION>}
IASWD/ClusterRevision Attribute
MQTT Topic Pattern:
[PREFIX]/IASWD/Attributes/ClusterRevision/Reported
[PREFIX]/IASWD/Attributes/ClusterRevision/Desired
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IASWD 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>/IASWD/Attributes/ClusterRevision/+'
# Example output
ucl/by-unid/<UNID>/<EP>/IASWD/Attributes/ClusterRevision/Desired { "value": <DESIRED_CLUSTER_REVISION> }
ucl/by-unid/<UNID>/<EP>/IASWD/Attributes/ClusterRevision/Reported { "value": <REPORTED_CLUSTER_REVISION> }
IASWD Command Support
MQTT Topic Pattern:
[PREFIX]/IASWD/SupportedCommands
[PREFIX]/IASWD/SupportedGeneratedCommands
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IASWD Command Support Properties",
"type": "object",
"properties": {
"value": {
"type": "array",
"items" : {
"type": "string",
"enum": [
"StartWarning",
"Squawk",
"WriteAttributes",
"ForceReadAttributes"
]
}
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To see supported commands for IASWD cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/SupportedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/IASWD/SupportedCommands { "value": ["StartWarning","Squawk","WriteAttributes", "ForceReadAttributes"] }
To see supported generated commands for IASWD cluster under the by-unid topic space:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/SupportedGeneratedCommands'
# Example output
ucl/by-unid/<UNID>/<EP>/IASWD/SupportedGeneratedCommands { "value": [] }
IASWD Commands
IASWD/StartWarning Command
MQTT Topic Pattern:
[PREFIX]/IASWD/Commands/StartWarning
[PREFIX]/IASWD/GeneratedCommands/StartWarning
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IASWD Cluster StartWarning Command Properties",
"type": "object",
"properties": {
"SirenConfiguration": {
"type": "StartWarningSirenConfiguration"
},
"WarningDuration": {
"type": "integer"
},
"StrobeDutyCycle": {
"type": "integer"
},
"StrobeLevel": {
"type": "IaswdLevel"
}
},
"required": [
"SirenConfiguration",
"WarningDuration",
"StrobeDutyCycle",
"StrobeLevel"
]
}
Example Mosquitto CLI Tool Usage
To send a IASWD/StartWarning command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/Commands/StartWarning' -m '{ "SirenConfiguration": <SIREN_CONFIGURATION_VALUE>,"WarningDuration": <WARNING_DURATION_VALUE>,"StrobeDutyCycle": <STROBE_DUTY_CYCLE_VALUE>,"StrobeLevel": <STROBE_LEVEL_VALUE> }'
To receive a IASWD/StartWarning generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/GeneratedCommands/StartWarning'
IASWD/Squawk Command
MQTT Topic Pattern:
[PREFIX]/IASWD/Commands/Squawk
[PREFIX]/IASWD/GeneratedCommands/Squawk
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IASWD Cluster Squawk Command Properties",
"type": "object",
"properties": {
"SquawkConfiguration": {
"type": "SquawkSquawkConfiguration"
}
},
"required": [
"SquawkConfiguration"
]
}
Example Mosquitto CLI Tool Usage
To send a IASWD/Squawk command under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/Commands/Squawk' -m '{ "SquawkConfiguration": <SQUAWK_CONFIGURATION_VALUE> }'
To receive a IASWD/Squawk generated command from a UNID/endpoint:
mosquitto_sub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/GeneratedCommands/Squawk'
IASWD/WriteAttributes Command
MQTT Topic Pattern:
[PREFIX]/IASWD/Commands/WriteAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IASWD Cluster WriteAttributes Command Properties",
"type": "object",
"properties": {
"MaxDuration": {
"type": "integer"
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To update all IASWD attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/Commands/WriteAttributes' -m '{ "MaxDuration": <MAX_DURATION_VALUE> }'
NOTE: Specify only the list of attributes to write in this command. Unspecified attributes will not be updated.
IASWD/ForceReadAttributes Command
MQTT Topic Pattern:
[PREFIX]/IASWD/Commands/ForceReadAttributes
MQTT Payload JSON Schema:
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "IASWD Cluster ForceReadAttributes Command Properties",
"type": "object",
"properties": {
"value": {
"type": "array"
"items": {
"type": "string",
"enum": [
"MaxDuration"
]
}
}
},
"required": [
"value"
]
}
Example Mosquitto CLI Tool Usage
To force read all IASWD attributes under the by-unid topic space (by sending an empty array):
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/Commands/ForceReadAttributes' -m '{ "value": [] }'
To force read one of the IASWD attributes under the by-unid topic space:
mosquitto_pub -t 'ucl/by-unid/<UNID>/<EP>/IASWD/Commands/ForceReadAttributes' -m '{ "value": ["MaxDuration"] }'