@@ -241,6 +241,56 @@ struct AtomicAttributeStatusStruct {
241
241
status statusCode = 1;
242
242
}
243
243
244
+ /** Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */
245
+ cluster Identify = 3 {
246
+ revision 4;
247
+
248
+ enum EffectIdentifierEnum : enum8 {
249
+ kBlink = 0;
250
+ kBreathe = 1;
251
+ kOkay = 2;
252
+ kChannelChange = 11;
253
+ kFinishEffect = 254;
254
+ kStopEffect = 255;
255
+ }
256
+
257
+ enum EffectVariantEnum : enum8 {
258
+ kDefault = 0;
259
+ }
260
+
261
+ enum IdentifyTypeEnum : enum8 {
262
+ kNone = 0;
263
+ kLightOutput = 1;
264
+ kVisibleIndicator = 2;
265
+ kAudibleBeep = 3;
266
+ kDisplay = 4;
267
+ kActuator = 5;
268
+ }
269
+
270
+ attribute int16u identifyTime = 0;
271
+ readonly attribute IdentifyTypeEnum identifyType = 1;
272
+ readonly attribute command_id generatedCommandList[] = 65528;
273
+ readonly attribute command_id acceptedCommandList[] = 65529;
274
+ readonly attribute event_id eventList[] = 65530;
275
+ readonly attribute attrib_id attributeList[] = 65531;
276
+ readonly attribute bitmap32 featureMap = 65532;
277
+ readonly attribute int16u clusterRevision = 65533;
278
+
279
+ request struct IdentifyRequest {
280
+ int16u identifyTime = 0;
281
+ }
282
+
283
+ request struct TriggerEffectRequest {
284
+ EffectIdentifierEnum effectIdentifier = 0;
285
+ EffectVariantEnum effectVariant = 1;
286
+ }
287
+
288
+ /** Command description for Identify */
289
+ command access(invoke: manage) Identify(IdentifyRequest): DefaultSuccess = 0;
290
+ /** Command description for TriggerEffect */
291
+ command access(invoke: manage) TriggerEffect(TriggerEffectRequest): DefaultSuccess = 64;
292
+ }
293
+
244
294
/** The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */
245
295
cluster Descriptor = 29 {
246
296
revision 2;
@@ -921,53 +971,6 @@ cluster NetworkCommissioning = 49 {
921
971
command access(invoke: administer) QueryIdentity(QueryIdentityRequest): QueryIdentityResponse = 9;
922
972
}
923
973
924
- /** The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. */
925
- cluster DiagnosticLogs = 50 {
926
- revision 1; // NOTE: Default/not specifically set
927
-
928
- enum IntentEnum : enum8 {
929
- kEndUserSupport = 0;
930
- kNetworkDiag = 1;
931
- kCrashLogs = 2;
932
- }
933
-
934
- enum StatusEnum : enum8 {
935
- kSuccess = 0;
936
- kExhausted = 1;
937
- kNoLogs = 2;
938
- kBusy = 3;
939
- kDenied = 4;
940
- }
941
-
942
- enum TransferProtocolEnum : enum8 {
943
- kResponsePayload = 0;
944
- kBDX = 1;
945
- }
946
-
947
- readonly attribute command_id generatedCommandList[] = 65528;
948
- readonly attribute command_id acceptedCommandList[] = 65529;
949
- readonly attribute event_id eventList[] = 65530;
950
- readonly attribute attrib_id attributeList[] = 65531;
951
- readonly attribute bitmap32 featureMap = 65532;
952
- readonly attribute int16u clusterRevision = 65533;
953
-
954
- request struct RetrieveLogsRequestRequest {
955
- IntentEnum intent = 0;
956
- TransferProtocolEnum requestedProtocol = 1;
957
- optional char_string<32> transferFileDesignator = 2;
958
- }
959
-
960
- response struct RetrieveLogsResponse = 1 {
961
- StatusEnum status = 0;
962
- long_octet_string logContent = 1;
963
- optional epoch_us UTCTimeStamp = 2;
964
- optional systime_us timeSinceBoot = 3;
965
- }
966
-
967
- /** Retrieving diagnostic logs from a Node */
968
- command RetrieveLogsRequest(RetrieveLogsRequestRequest): RetrieveLogsResponse = 0;
969
- }
970
-
971
974
/** The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */
972
975
cluster GeneralDiagnostics = 51 {
973
976
revision 2;
@@ -1640,6 +1643,20 @@ endpoint 0 {
1640
1643
device type ma_rootdevice = 22, version 1;
1641
1644
1642
1645
1646
+ server cluster Identify {
1647
+ ram attribute identifyTime default = 0x0;
1648
+ ram attribute identifyType default = 0x00;
1649
+ callback attribute generatedCommandList;
1650
+ callback attribute acceptedCommandList;
1651
+ callback attribute eventList;
1652
+ callback attribute attributeList;
1653
+ ram attribute featureMap default = 0;
1654
+ ram attribute clusterRevision default = 4;
1655
+
1656
+ handle command Identify;
1657
+ handle command TriggerEffect;
1658
+ }
1659
+
1643
1660
server cluster Descriptor {
1644
1661
callback attribute deviceTypeList;
1645
1662
callback attribute serverList;
@@ -1757,10 +1774,12 @@ endpoint 0 {
1757
1774
ram attribute lastNetworkingStatus;
1758
1775
ram attribute lastNetworkID;
1759
1776
ram attribute lastConnectErrorValue;
1777
+ callback attribute supportedThreadFeatures;
1778
+ callback attribute threadVersion;
1760
1779
callback attribute generatedCommandList;
1761
1780
callback attribute acceptedCommandList;
1762
1781
callback attribute attributeList;
1763
- ram attribute featureMap default = 2;
1782
+ callback attribute featureMap default = 2;
1764
1783
ram attribute clusterRevision default = 1;
1765
1784
1766
1785
handle command ScanNetworks;
@@ -1773,18 +1792,6 @@ endpoint 0 {
1773
1792
handle command ReorderNetwork;
1774
1793
}
1775
1794
1776
- server cluster DiagnosticLogs {
1777
- callback attribute generatedCommandList;
1778
- callback attribute acceptedCommandList;
1779
- callback attribute eventList;
1780
- callback attribute attributeList;
1781
- ram attribute featureMap default = 0;
1782
- ram attribute clusterRevision default = 1;
1783
-
1784
- handle command RetrieveLogsRequest;
1785
- handle command RetrieveLogsResponse;
1786
- }
1787
-
1788
1795
server cluster GeneralDiagnostics {
1789
1796
emits event HardwareFaultChange;
1790
1797
emits event RadioFaultChange;
@@ -1924,7 +1931,7 @@ endpoint 1 {
1924
1931
}
1925
1932
1926
1933
server cluster RefrigeratorAlarm {
1927
- ram attribute mask default = 0 ;
1934
+ ram attribute mask default = 1 ;
1928
1935
ram attribute state default = 0;
1929
1936
ram attribute supported default = 0;
1930
1937
callback attribute generatedCommandList;
0 commit comments