4 Copyright (c) 2008,2020 Silicon Labs.
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
10 http://www.apache.org/licenses/LICENSE-2.0
12 Unless required by applicable law or agreed to in writing, software
13 distributed under the License is distributed on an "AS IS" BASIS,
14 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 See the License for the specific language governing permissions and
16 limitations under the License.
18 <domain name="Works With All Hubs"/>
19 <enum name="WwahIasZoneEnrollmentMode" type="ENUM8">
20 <item name="TripToPair" value="0x00"/>
21 <item name="AutoEnrollmentResponse" value="0x01"/>
22 <item name="Request" value="0x02"/>
24 <enum name="WwahPowerNotificationReason" type="ENUM8">
25 <item name="Unknown" value="0x00"/>
26 <item name="Battery" value="0x01"/>
27 <item name="Brownout" value="0x02"/>
28 <item name="Watchdog" value="0x03"/>
29 <item name="ResetPin" value="0x04"/>
30 <item name="MemoryHardwareFault" value="0x05"/>
31 <item name="SofwareException" value="0x06"/>
32 <item name="OtaBootloadSuccess" value="0x07"/>
33 <item name="SoftwareReset" value="0x08"/>
34 <item name="PowerButton" value="0x09"/>
35 <item name="Temperature" value="0x0A"/>
36 <item name="BootloadFailure" value="0x0B"/>
38 <struct name="WwahBeaconSurvey">
39 <item name="deviceShort" type="INT16U"/>
40 <item name="rssi" type="INT8U"/>
41 <item name="classificationMask" type="INT8U"/>
43 <struct name="WwahClusterStatusToUseTC">
44 <item name="clusterId" type="CLUSTER_ID"/>
45 <item name="status" type="Status"/>
47 <cluster manufacturerCode="0x1217" singleton="true">
49 <name>SL Works With All Hubs</name>
50 <!-- Aligned with 17-01067-023-WWAH ZCL Cluster Definition -->
51 <domain>Works With All Hubs</domain>
52 <description>Silicon Labs proprietary attributes and commands for Works With All Hubs functional extensions.</description>
54 <!-- 0xFCxx for proprietary cluster ID; 0x57 for 'W' -->
55 <define>SL_WWAH_CLUSTER</define>
56 <client tick="false" init="false">true</client>
57 <server tick="false" init="false">true</server>
58 <!-- attribute side="server" code="0x0000" define="NOT_DEFINED"></attribute -->
59 <!-- removed from spec Version 023 -->
60 <!-- attribute side="server" code="0x0001" define="NOT_DEFINED"></attribute -->
61 <!-- removed from spec Version 012 -->
62 <attribute side="server" code="0x0002" define="SL_DISABLE_OTA_DOWNGRADES" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x00" optional="false">disable ota downgrades</attribute>
63 <attribute side="server" code="0x0003" define="SL_MGMT_LEAVE_WITHOUT_REJOIN_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x01" optional="false">mgmt leave without rejoin enabled</attribute>
64 <attribute side="server" code="0x0004" define="SL_NWK_RETRY_COUNT" type="INT8U" min="0x03" max="0xFF" writable="false" default="0xFF" optional="false">network retry count</attribute>
65 <attribute side="server" code="0x0005" define="SL_MAC_RETRY_COUNT" type="INT8U" min="0x03" max="0xFF" writable="false" default="0xFF" optional="false">mac retry count</attribute>
66 <attribute side="server" code="0x0006" define="SL_ROUTER_CHECKIN_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x00" optional="false">router checkin enabled</attribute>
67 <attribute side="server" code="0x0007" define="SL_TOUCHLINK_INTERPAN_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x00" optional="false">touchlink interpan enabled</attribute>
68 <attribute side="server" code="0x0008" define="SL_WWAH_PARENT_CLASSIFICATION_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x00" optional="false">wwah parent classification enabled</attribute>
69 <attribute side="server" code="0x0009" define="SL_WWAH_APP_EVENT_RETRY_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x01" optional="false">wwah app event retry enabled</attribute>
70 <attribute side="server" code="0x000A" define="SL_WWAH_APP_EVENT_RETRY_QUEUE_SIZE" type="INT8U" min="0x0A" max="0xFF" writable="false" default="0x0A" optional="false">wwah app event retry queue size</attribute>
71 <attribute side="server" code="0x000B" define="SL_WWAH_REJOIN_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x00" optional="false">wwah rejoin enabled</attribute>
72 <attribute side="server" code="0x000C" define="SL_MAC_POLL_FAILURE_WAIT_TIME" type="INT8U" min="0x00" max="0xFF" writable="false" default="0x03" optional="false">mac poll failure wait time</attribute>
73 <attribute side="server" code="0x000D" define="SL_CONFIGURATION_MODE_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x01" optional="false">configuration mode enabled</attribute>
74 <attribute side="server" code="0x000E" define="SL_CURRENT_DEBUG_REPORT_ID" type="INT8U" min="0x00" max="0xFF" writable="false" default="0x00" optional="false">current debug report id</attribute>
75 <attribute side="server" code="0x000F" define="SL_TC_SECURITY_ON_NTWK_KEY_ROTATION_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x00" optional="false">tc security on ntwk key rotation enabled</attribute>
76 <attribute side="server" code="0x0010" define="SL_WWAH_BAD_PARENT_RECOVERY_ENABLED" type="BOOLEAN" min="0x00" max="0x01" writable="false" default="0x00" optional="false">wwah bad parent recovery enabled</attribute>
77 <attribute side="server" code="0x0011" define="SL_PENDING_NETWORK_UPDATE_CHANNEL" type="INT8U" min="0x00" max="0xFF" writable="false" default="0xFF" optional="false">pending network update channel</attribute>
78 <attribute side="server" code="0x0012" define="SL_PENDING_NETWORK_UPDATE_PANID" type="INT16U" min="0x0000" max="0xFFFF" writable="false" default="0xFFFF" optional="false">pending network update pan id</attribute>
79 <attribute side="server" code="0x0013" define="SL_OTA_MAX_OFFLINE_DURATION" type="INT16U" min="0x0000" max="0xFFFF" writable="false" default="0x0000" optional="false">ota max offline duration</attribute>
80 <command source="client" code="0x00" name="EnableApsLinkKeyAuthorization" optional="false" cli="zcl sl-wwah enable-aps-link-key-auth">
82 Enable enforcement of APS-level security for all cluster commands.
84 <arg name="numberExemptClusters" type="INT8U"/>
85 <arg name="clusterId" type="CLUSTER_ID" array="true" presentIf="numberExemptClusters!=0"/>
87 <command source="client" code="0x01" name="DisableApsLinkKeyAuthorization" optional="false" cli="zcl sl-wwah disable-aps-link-key-auth">
89 Disable enforcement of APS-level security for all cluster commands.
91 <arg name="numberExemptClusters" type="INT8U"/>
92 <arg name="clusterId" type="CLUSTER_ID" array="true" presentIf="numberExemptClusters!=0"/>
94 <command source="client" code="0x02" name="ApsLinkKeyAuthorizationQuery" optional="false" cli="zcl sl-wwah query-aps-link-key-auth">
96 Query status of APS-level security enforcement for a specified cluster.
98 <arg name="clusterId" type="CLUSTER_ID"/>
100 <command source="client" code="0x03" name="RequestNewApsLinkKey" optional="false" cli="zcl sl-wwah request-new-aps-link-key">
102 Trigger device to request a new APS link key from the Trust Center.
105 <command source="client" code="0x04" name="EnableWwahAppEventRetryAlgorithm" optional="false" cli="zcl sl-wwah enable-app-event-retry-alg">
107 Enable WWAH App Event retry algorithm.
109 <arg name="firstBackoffTimeSeconds" type="INT8U"/>
110 <arg name="backoffSeqCommonRatio" type="INT8U"/>
111 <arg name="maxBackoffTimeSeconds" type="INT32U"/>
112 <arg name="maxRedeliveryAttempts" type="INT8U"/>
114 <command source="client" code="0x05" name="DisableWwahAppEventRetryAlgorithm" optional="false" cli="zcl sl-wwah disable-app-event-retry-alg">
116 Disable WWAH App Event retry algorithm.
119 <command source="client" code="0x06" name="RequestTime" optional="false" cli="zcl sl-wwah req-time">
121 Trigger device to request current attribute values from Time Cluster server.
124 <command source="client" code="0x07" name="EnableWwahRejoinAlgorithm" optional="false" cli="zcl sl-wwah enable-rejoin-alg">
126 Enable WWAH rejoin algorithm.
128 <arg name="fastRejoinTimeoutSeconds" type="INT16U"/>
129 <arg name="durationBetweenRejoinsSeconds" type="INT16U"/>
130 <arg name="fastRejoinFirstBackoffSeconds" type="INT16U"/>
131 <arg name="maxBackoffTimeSeconds" type="INT16U"/>
132 <arg name="maxBackoffIterations" type="INT16U"/>
134 <command source="client" code="0x08" name="DisableWwahRejoinAlgorithm" optional="false" cli="zcl sl-wwah disable-rejoin-alg">
136 Disable WWAH rejoin algorithm.
139 <command source="client" code="0x09" name="SetIasZoneEnrollmentMethod" optional="false" cli="zcl sl-wwah set-ias-enroll-method">
141 Set the enrollment method of an IAS Zone server.
143 <arg name="enrollmentMode" type="WwahIasZoneEnrollmentMode"/>
145 <command source="client" code="0x0A" name="ClearBindingTable" optional="false" cli="zcl sl-wwah clear-binding-table">
147 Clear the binding table.
150 <command source="client" code="0x0B" name="EnablePeriodicRouterCheckIns" optional="false" cli="zcl sl-wwah enable-router-checkins">
152 Enable device to periodically check connectivity with Zigbee Coordinator.
154 <arg name="checkInInterval" type="INT16U"/>
156 <command source="client" code="0x0C" name="DisablePeriodicRouterCheckIns" optional="false" cli="zcl sl-wwah disable-router-checkins">
158 Disable device from periodically checking connectivity with Zigbee Coordinator.
161 <command source="client" code="0x0D" name="SetMacPollFailureWaitTime" optional="false" cli="zcl sl-wwah set-mac-poll-fail-wait-time">
163 Set MAC poll failure wait time.
165 <arg name="waitTime" type="INT8U"/>
167 <command source="client" code="0x0E" name="SetPendingNetworkUpdate" optional="false" cli="zcl sl-wwah set-pending-network-update">
169 Set pending network update parameters.
171 <arg name="channel" type="INT8U"/>
172 <arg name="panId" type="INT16U"/>
174 <command source="client" code="0x0F" name="RequireApsAcksOnUnicasts" optional="false" cli="zcl sl-wwah enable-require-aps-ack-unicast">
176 Require all unicast commands to have APS ACKs enabled.
178 <arg name="numberExemptClusters" type="INT8U"/>
179 <arg name="clusterId" type="CLUSTER_ID" array="true" presentIf="numberExemptClusters!=0"/>
181 <command source="client" code="0x10" name="RemoveApsAcksOnUnicastsRequirement" optional="false" cli="zcl sl-wwah disable-require-aps-ack-unicast">
183 Roll back changes made by Require APS ACK on Unicasts.
186 <command source="client" code="0x11" name="ApsAckRequirementQuery" optional="false" cli="zcl sl-wwah query-aps-ack-requirement">
188 Query whether unicast commands are required to have APS ACKs enabled.
191 <command source="client" code="0x12" name="DebugReportQuery" optional="false" cli="zcl sl-wwah query-debug-report">
193 Query for specified debug report.
195 <arg name="debugReportId" type="INT8U"/>
197 <command source="client" code="0x13" name="SurveyBeacons" optional="false" cli="zcl sl-wwah survey-beacons">
199 Causes device to perform a scan for beacons advertising the device's network.
201 <arg name="standardBeacons" type="BOOLEAN"/>
203 <command source="client" code="0x14" name="DisableOtaDowngrades" optional="false" cli="zcl sl-wwah disable-ota-downgrades">
205 Disallow OTA downgrade of all device firmware components.
208 <command source="client" code="0x15" name="DisableMgmtLeaveWithoutRejoin" optional="false" cli="zcl sl-wwah disable-mgmt-leave-wo-rejoin">
210 Causes device to ignore MGMT Leave Without Rejoin commands.
213 <command source="client" code="0x16" name="DisableTouchlinkInterpanMessageSupport" optional="false" cli="zcl sl-wwah disable-tl-interpan-msg-support">
215 Causes device to ignore Touchlink Interpan messages.
218 <command source="client" code="0x17" name="EnableWwahParentClassification" optional="false" cli="zcl sl-wwah enable-parent-classify">
220 Enable WWAH Parent Classification advertisements.
223 <command source="client" code="0x18" name="DisableWwahParentClassification" optional="false" cli="zcl sl-wwah disable-parent-classify">
225 Disable WWAH Parent Classification advertisements.
228 <command source="client" code="0x19" name="EnableTcSecurityOnNtwkKeyRotation" optional="false" cli="zcl sl-wwah enable-tc-sec-ntwk-key-rot">
230 Process only network key rotation commands sent via unicast and encrypted by Trust Center Link Key.
233 <command source="client" code="0x1A" name="EnableWwahBadParentRecovery" optional="false" cli="zcl sl-wwah enable-bad-parent-recovery">
235 Enable WWAH Bad Parent Recovery feature.
238 <command source="client" code="0x1B" name="DisableWwahBadParentRecovery" optional="false" cli="zcl sl-wwah disable-bad-parent-recovery">
240 Disable WWAH Bad Parent Recovery feature.
243 <command source="client" code="0x1C" name="EnableConfigurationMode" optional="false" cli="zcl sl-wwah enable-config-mode">
245 Enable Configuration Mode.
248 <command source="client" code="0x1D" name="DisableConfigurationMode" optional="false" cli="zcl sl-wwah disable-config-mode">
250 Disable Configuration Mode.
253 <command source="client" code="0x1E" name="UseTrustCenterForClusterServer" optional="false" cli="zcl sl-wwah use-tc-for-cluster-server">
255 Use only the Trust Center as cluster server for the set of clusters specified.
257 <arg name="numberOfClusters" type="INT8U"/>
258 <arg name="clusterId" type="CLUSTER_ID" array="true" presentIf="numberOfClusters!=0"/>
260 <command source="client" code="0x1F" name="TrustCenterForClusterServerQuery" optional="false" cli="zcl sl-wwah query-tc-for-cluster-server">
262 Causes device to send an appropriate Trust Center for Cluster Server Query Response command.
265 <command source="server" code="0x00" name="ApsLinkKeyAuthorizationQueryResponse" optional="false">
267 Command description for SlAPSLinkKeyAuthorizationQueryResponse
269 <arg name="clusterId" type="CLUSTER_ID"/>
270 <arg name="apsLinkKeyAuthStatus" type="BOOLEAN"/>
272 <command source="server" code="0x01" name="PoweringOffNotification" optional="false">
274 Command description for SlPoweringOffNotification
276 <arg name="powerNotificationReason" type="WwahPowerNotificationReason"/>
277 <arg name="manufacturerId" type="INT16U"/>
278 <arg name="manufacturerReasonLength" type="INT8U"/>
279 <arg name="manufacturerReason" type="INT8U" array="true" presentIf="manufacturerReasonLength!=0"/>
281 <command source="server" code="0x02" name="PoweringOnNotification" optional="false">
283 Command description for SlPoweringOnNotification
285 <arg name="powerNotificationReason" type="WwahPowerNotificationReason"/>
286 <arg name="manufacturerId" type="INT16U"/>
287 <arg name="manufacturerReasonLength" type="INT8U"/>
288 <arg name="manufacturerReason" type="INT8U" array="true" presentIf="manufacturerReasonLength!=0"/>
290 <command source="server" code="0x03" name="ShortAddressChange" optional="false">
292 Command description for SlShortAddressChange
294 <arg name="deviceEui64" type="IEEE_ADDRESS"/>
295 <arg name="deviceShort" type="INT16U"/>
297 <command source="server" code="0x04" name="ApsAckEnablementQueryResponse" optional="false">
299 Command description for SlAPSAckEnablementQueryResponse
301 <arg name="numberExemptClusters" type="INT8U"/>
302 <arg name="clusterId" type="CLUSTER_ID" array="true" presentIf="numberExemptClusters!=0"/>
304 <command source="server" code="0x05" name="PowerDescriptorChange" optional="false">
306 Command description for SlPowerDescriptorChange
308 <arg name="currentPowerMode" type="INT32U"/>
309 <arg name="availablePowerSources" type="INT32U"/>
310 <arg name="currentPowerSource" type="INT32U"/>
311 <arg name="currentPowerSourceLevel" type="INT32U"/>
313 <command source="server" code="0x06" name="NewDebugReportNotification" optional="false">
315 Command description for SlNewDebugReportNotification
317 <arg name="debugReportId" type="INT8U"/>
318 <arg name="debugReportSize" type="INT32U"/>
320 <command source="server" code="0x07" name="DebugReportQueryResponse" optional="false">
322 Command description for SlDebugReportQueryResponse
324 <arg name="debugReportId" type="INT8U"/>
325 <arg name="debugReportData" type="INT8U" array="true"/>
328 <command source="server" code="0x08" name="TrustCenterForClusterServerQueryResponse" optional="false">
330 Command description for SlTrustCenterForClusterServerQueryResponse
332 <arg name="numberOfClusters" type="INT8U"/>
333 <arg name="clusterId" type="CLUSTER_ID" array="true" presentIf="numberOfClusters!=0"/>
335 <command source="server" code="0x09" name="SurveyBeaconsResponse" optional="false">
337 Command description for SlSurveyBeaconsResponse
339 <arg name="numberOfBeacons" type="INT8U"/>
340 <arg name="beacon" type="WwahBeaconSurvey" array="true" presentIf="numberOfBeacons!=0"/>
342 <command source="server" code="0x9E" name="UseTrustCenterForClusterServerResponse" optional="false">
343 <!-- This extra command's integration into the spec is being discussed. Do not remove if updating XML -->
345 Command description for SlUseTrustCenterForClusterServerResponse
347 <arg name="status" type="Status"/>
348 <arg name="clusterStatusLength" type="INT8U"/>
349 <arg name="clusterStatus" type="WwahClusterStatusToUseTC" array="true" presentIf="clusterStatusLength!=0"/>