11<?xml version =" 1.0" ?>
22<!--
3- Copyright (c) 2021 Project CHIP Authors
3+ Copyright (c) 2021-2025 Project CHIP Authors
44
55Licensed under the Apache License, Version 2.0 (the "License");
66you may not use this file except in compliance with the License.
@@ -14,9 +14,15 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1414See the License for the specific language governing permissions and
1515limitations under the License.
1616-->
17- <configurator >
17+ <!--
18+ XML generated by Alchemy; DO NOT EDIT.
19+ Source: src/service_device_management/DiagnosticsGeneral.adoc
20+ Parameters: zap attribute=improved-capabilities-tcr sdk-root=../connectedhomeip/ spec-root=../connectedhomeip-spec/ ../connectedhomeip-spec/src/data_model/Interaction-Model.adoc ../connectedhomeip-spec/src/service_device_management/BasicInformationCluster.adoc ../connectedhomeip-spec/src/service_device_management/DiagnosticsGeneral.adoc
21+ Git: 1.5-base-19-g551278a1a
22+ Alchemy: v1.5.55
23+ -->
24+ <configurator xmlns : xsi =" http://www.w3.org/2001/XMLSchema-instance" xsi : noNamespaceSchemaLocation =" ../../zcl.xsd" >
1825 <domain name =" CHIP" />
19-
2026 <enum name =" HardwareFaultEnum" type =" enum8" >
2127 <cluster code =" 0x0033" />
2228 <item name =" Unspecified" value =" 0x00" />
@@ -31,6 +37,7 @@ limitations under the License.
3137 <item name =" NonVolatileMemoryError" value =" 0x09" />
3238 <item name =" TamperDetected" value =" 0x0A" />
3339 </enum >
40+
3441 <enum name =" RadioFaultEnum" type =" enum8" >
3542 <cluster code =" 0x0033" />
3643 <item name =" Unspecified" value =" 0x00" />
@@ -41,13 +48,15 @@ limitations under the License.
4148 <item name =" BLEFault" value =" 0x05" />
4249 <item name =" EthernetFault" value =" 0x06" />
4350 </enum >
51+
4452 <enum name =" NetworkFaultEnum" type =" enum8" >
4553 <cluster code =" 0x0033" />
4654 <item name =" Unspecified" value =" 0x00" />
4755 <item name =" HardwareFailure" value =" 0x01" />
4856 <item name =" NetworkJammed" value =" 0x02" />
4957 <item name =" ConnectionFailed" value =" 0x03" />
5058 </enum >
59+
5160 <enum name =" BootReasonEnum" type =" enum8" >
5261 <cluster code =" 0x0033" />
5362 <item name =" Unspecified" value =" 0x00" />
@@ -58,6 +67,7 @@ limitations under the License.
5867 <item name =" SoftwareUpdateCompleted" value =" 0x05" />
5968 <item name =" SoftwareReset" value =" 0x06" />
6069 </enum >
70+
6171 <enum name =" InterfaceTypeEnum" type =" enum8" >
6272 <cluster code =" 0x0033" />
6373 <item name =" Unspecified" value =" 0x00" />
@@ -66,60 +76,75 @@ limitations under the License.
6676 <item name =" Cellular" value =" 0x03" />
6777 <item name =" Thread" value =" 0x04" />
6878 </enum >
79+
80+ <struct name =" DeviceLoadStruct" apiMaturity =" provisional" >
81+ <cluster code =" 0x0033" />
82+ <item fieldId =" 0" name =" CurrentSubscriptions" type =" int16u" />
83+ <item fieldId =" 1" name =" CurrentSubscriptionsForFabric" type =" int16u" />
84+ <item fieldId =" 2" name =" TotalSubscriptionsEstablished" type =" int32u" />
85+ <item fieldId =" 3" name =" TotalInteractionModelMessagesSent" type =" int32u" />
86+ <item fieldId =" 4" name =" TotalInteractionModelMessagesReceived" type =" int32u" />
87+ </struct >
88+
6989 <struct name =" NetworkInterface" >
7090 <cluster code =" 0x0033" />
71- <item code = " 0x00 " name =" Name" type =" char_string" length =" 32" />
72- <item code = " 0x01 " name =" IsOperational" type =" boolean" />
73- <item code = " 0x02 " name =" OffPremiseServicesReachableIPv4" type =" boolean" isNullable =" true" />
74- <item code = " 0x03 " name =" OffPremiseServicesReachableIPv6" type =" boolean" isNullable =" true" />
91+ <item fieldId = " 0 " name =" Name" type =" char_string" length =" 32" />
92+ <item fieldId = " 1 " name =" IsOperational" type =" boolean" />
93+ <item fieldId = " 2 " name =" OffPremiseServicesReachableIPv4" type =" boolean" isNullable =" true" />
94+ <item fieldId = " 3 " name =" OffPremiseServicesReachableIPv6" type =" boolean" isNullable =" true" />
7595 <!-- TODO(#14075): HWADR not supported yet -->
76- <item code = " 0x04 " name =" HardwareAddress" type =" octet_string" length =" 8" />
77- <item code = " 0x05 " name =" IPv4Addresses" type =" octet_string" array =" true" />
78- <item code = " 0x06 " name =" IPv6Addresses" type =" octet_string" array =" true" />
79- <item code = " 0x07 " name =" Type" type =" InterfaceTypeEnum" />
96+ <item fieldId = " 4 " name =" HardwareAddress" type =" octet_string" min = " 6 " max =" 8" />
97+ <item fieldId = " 5 " name =" IPv4Addresses" type =" octet_string" array =" true" length = " 4 " />
98+ <item fieldId = " 6 " name =" IPv6Addresses" type =" octet_string" array =" true" length = " 8 " />
99+ <item fieldId = " 7 " name =" Type" type =" InterfaceTypeEnum" max = " 0x04 " />
80100 </struct >
101+
81102 <cluster >
82103 <domain >General</domain >
83104 <name >General Diagnostics</name >
84105 <code >0x0033</code >
85106 <define >GENERAL_DIAGNOSTICS_CLUSTER</define >
86107 <description >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.</description >
87- <globalAttribute side =" either" code =" 0xFFFD" value =" 2" />
88-
108+ <client init =" false" tick =" false" >true</client >
109+ <server init =" false" tick =" false" >true</server >
110+ <globalAttribute side =" either" code =" 0xFFFD" value =" 3" />
89111 <features >
90112 <feature bit =" 0" code =" DMTEST" name =" DataModelTest" summary =" Support specific testing needs for extended Data Model features" >
91- <optionalConform />
113+ <describedConform />
114+ </feature >
115+ <feature bit =" 1" code =" LOAD" name =" DeviceLoad" summary =" Support for reporting device load metrics (mandatory in revision 3 and above)" >
116+ <mandatoryConform />
92117 </feature >
93118 </features >
94-
95- <attribute side =" server" code =" 0x00" name =" NetworkInterfaces" define =" NETWORK_INTERFACES" type =" array" entryType =" NetworkInterface" length =" 8" >
96- <mandatoryConform />
97- </attribute >
98- <attribute side =" server" code =" 0x01" name =" RebootCount" define =" REBOOT_COUNT" type =" int16u" >
99- <mandatoryConform />
100- </attribute >
119+ <attribute side =" server" code =" 0x00" name =" NetworkInterfaces" define =" NETWORK_INTERFACES" type =" array" entryType =" NetworkInterface" length =" 8" />
120+ <attribute side =" server" code =" 0x01" name =" RebootCount" define =" REBOOT_COUNT" type =" int16u" />
101121 <!-- ***NOTE***: UpTime attribute is mandatory starting at Rev >= 2, but because of backwards compatibility, has to be optional here.
102122 The device type config and cert tests (TC-DGGEN-1.1/2.1) ensure that it is present. -->
103- <attribute side =" server" code =" 0x02" name =" UpTime" define =" UP_TIME" type =" int64u" optional = " true " >
104- <mandatoryConform />
123+ <attribute side =" server" code =" 0x02" name =" UpTime" define =" UP_TIME" type =" int64u" >
124+ <quality changeOmitted = " true " />
105125 </attribute >
106126 <attribute side =" server" code =" 0x03" name =" TotalOperationalHours" define =" TOTAL_OPERATIONAL_HOURS" type =" int32u" optional =" true" >
127+ <quality changeOmitted =" true" />
107128 <optionalConform />
108129 </attribute >
109- <attribute side =" server" code =" 0x04" name =" BootReason" define =" BOOT_REASONS" type =" BootReasonEnum" optional =" true" >
130+ <attribute side =" server" code =" 0x04" name =" BootReason" define =" BOOT_REASONS" type =" BootReasonEnum" optional =" true" max = " 0x06 " >
110131 <optionalConform />
111132 </attribute >
112- <attribute side =" server" code =" 0x05" name =" ActiveHardwareFaults" define =" ACTIVE_HARDWARE_FAULTS" type =" array" entryType =" HardwareFaultEnum" optional =" true" >
133+ <attribute side =" server" code =" 0x05" name =" ActiveHardwareFaults" define =" ACTIVE_HARDWARE_FAULTS" type =" array" entryType =" HardwareFaultEnum" optional =" true" length = " 11 " >
113134 <optionalConform />
114135 </attribute >
115- <attribute side =" server" code =" 0x06" name =" ActiveRadioFaults" define =" ACTIVE_RADIO_FAULTS" type =" array" entryType =" RadioFaultEnum" optional =" true" >
136+ <attribute side =" server" code =" 0x06" name =" ActiveRadioFaults" define =" ACTIVE_RADIO_FAULTS" type =" array" entryType =" RadioFaultEnum" optional =" true" length = " 7 " >
116137 <optionalConform />
117138 </attribute >
118- <attribute side =" server" code =" 0x07" name =" ActiveNetworkFaults" define =" ACTIVE_NETWORK_FAULTS" type =" array" entryType =" NetworkFaultEnum" optional =" true" >
139+ <attribute side =" server" code =" 0x07" name =" ActiveNetworkFaults" define =" ACTIVE_NETWORK_FAULTS" type =" array" entryType =" NetworkFaultEnum" optional =" true" length = " 4 " >
119140 <optionalConform />
120141 </attribute >
121- <attribute side =" server" code =" 0x08" name =" TestEventTriggersEnabled" define =" TEST_EVENT_TRIGGERS_ENABLED" type =" boolean" >
122- <mandatoryConform />
142+ <attribute side =" server" code =" 0x08" name =" TestEventTriggersEnabled" define =" TEST_EVENT_TRIGGERS_ENABLED" type =" boolean" />
143+ <attribute code =" 0x000A" side =" server" name =" DeviceLoadStatus" define =" DEVICE_LOAD_STATUS" type =" DeviceLoadStruct" optional =" true" >
144+ <quality changeOmitted =" true" />
145+ <mandatoryConform >
146+ <feature name =" LOAD" />
147+ </mandatoryConform >
123148 </attribute >
124149 <!--
125150 WARNING !!!!! Attribute 0x0009 (previously AverageWearCount, see #30002/#29285)
@@ -130,68 +155,67 @@ limitations under the License.
130155
131156 ====== ID 0x0009 is reserved, do not use ======
132157 -->
133-
134- <command source =" client" code =" 0x00" name =" TestEventTrigger" optional =" false" >
135- <description >Provide a means for certification tests to trigger some test-plan-specific events</description >
136- <arg name =" EnableKey" type =" octet_string" length =" 16" />
137- <arg name =" EventTrigger" type =" int64u" />
158+ <command source =" client" code =" 0x00" name =" TestEventTrigger" >
159+ <description >This command SHALL be supported to provide a means for certification tests to trigger some test-plan-specific events, necessary to assist in automation of device interactions for some certification test cases.</description >
160+ <arg id =" 0" name =" EnableKey" type =" octet_string" length =" 16" minLength =" 16" />
161+ <arg id =" 1" name =" EventTrigger" type =" int64u" />
138162 <access op =" invoke" role =" manage" />
139- <mandatoryConform />
140163 </command >
141164
142- <command source =" client" code =" 0x01" name =" TimeSnapshot" response =" TimeSnapshotResponse" optional =" false" apiMaturity =" provisional" >
143- <description >Take a snapshot of system time and epoch time.</description >
144- <mandatoryConform />
165+ <command source =" client" code =" 0x01" name =" TimeSnapshot" response =" TimeSnapshotResponse" apiMaturity =" provisional" >
166+ <description >This command MAY be used by a client to obtain a correlated view of both System Time, and, if currently synchronized and supported, " wall clock time" of the server.</description >
145167 </command >
146168
147- <command source =" server" code =" 0x02" name =" TimeSnapshotResponse" optional =" false" apiMaturity =" provisional" >
148- <description >Response for the TimeSnapshot command.</description >
149- <arg name =" SystemTimeMs" type =" systime_ms" optional =" false" />
150- <arg name =" PosixTimeMs" type =" posix_ms" isNullable =" true" optional =" false" />
151- <mandatoryConform />
169+ <command source =" server" code =" 0x02" name =" TimeSnapshotResponse" apiMaturity =" provisional" disableDefaultResponse =" true" >
170+ <description >This command SHALL be generated in response to a TimeSnapshot command.</description >
171+ <arg id =" 0" name =" SystemTimeMs" type =" systime_ms" />
172+ <arg id =" 1" name =" PosixTimeMs" type =" posix_ms" isNullable =" true" />
152173 </command >
153174
154175 <command source =" client" code =" 0x03" name =" PayloadTestRequest" response =" PayloadTestResponse" optional =" true" >
155- <description >Request a variable length payload response.</description >
156- <arg name =" EnableKey" type =" octet_string" length =" 16" />
157- <arg name =" Value" type =" int8u" />
158- <arg name =" Count" type =" int16u" max =" 2048" />
176+ <description >This command provides a means for certification tests or manufacturer' s internal tests to validate particular command handling and encoding constraints by generating a response of a given size.</description >
177+ <arg id =" 0" name =" EnableKey" type =" octet_string" length =" 16" minLength =" 16" />
178+ <arg id =" 1" name =" Value" type =" int8u" />
179+ <arg id =" 2" name =" Count" type =" int16u" max =" 2048" />
180+ <access op =" invoke" role =" manage" />
159181 <mandatoryConform >
160182 <feature name =" DMTEST" />
161183 </mandatoryConform >
162- <access op =" invoke" role =" manage" />
163184 </command >
164185
165- <command source =" server" code =" 0x04" name =" PayloadTestResponse" optional =" true" >
166- <description >Response for the PayloadTestRequest command.</description >
167- <arg name = " Payload " type = " octet_string " max = " 2048 " optional = " false " />
186+ <command source =" server" code =" 0x04" name =" PayloadTestResponse" optional = " true " disableDefaultResponse =" true" >
187+ <description >This command is sent by the server on receipt of the PayloadTestRequest command.</description >
188+ <arg id = " 0 " name = " Payload " type = " long_octet_string " length = " 2048 " />
168189 <mandatoryConform >
169190 <feature name =" DMTEST" />
170191 </mandatoryConform >
171192 </command >
172193
173194 <event side =" server" code =" 0x00" name =" HardwareFaultChange" priority =" critical" optional =" true" >
174- <description >Indicate a change in the set of hardware faults currently detected by the Node.</description >
175- <field id =" 0" name =" Current" type =" HardwareFaultEnum" array =" true" />
176- <field id =" 1" name =" Previous" type =" HardwareFaultEnum" array =" true" />
195+ <description >The HardwareFaultChange Event SHALL indicate a change in the set of hardware faults currently detected by the Node.</description >
196+ <field id =" 0" name =" Current" type =" HardwareFaultEnum" array =" true" length = " 11 " />
197+ <field id =" 1" name =" Previous" type =" HardwareFaultEnum" array =" true" length = " 11 " />
177198 <optionalConform />
178199 </event >
200+
179201 <event side =" server" code =" 0x01" name =" RadioFaultChange" priority =" critical" optional =" true" >
180- <description >Indicate a change in the set of radio faults currently detected by the Node.</description >
181- <field id =" 0" name =" Current" type =" RadioFaultEnum" array =" true" />
182- <field id =" 1" name =" Previous" type =" RadioFaultEnum" array =" true" />
202+ <description >The RadioFaultChange Event SHALL indicate a change in the set of radio faults currently detected by the Node.</description >
203+ <field id =" 0" name =" Current" type =" RadioFaultEnum" array =" true" length = " 7 " />
204+ <field id =" 1" name =" Previous" type =" RadioFaultEnum" array =" true" length = " 7 " />
183205 <optionalConform />
184206 </event >
207+
185208 <event side =" server" code =" 0x02" name =" NetworkFaultChange" priority =" critical" optional =" true" >
186- <description >Indicate a change in the set of network faults currently detected by the Node.</description >
187- <field id =" 0" name =" Current" type =" NetworkFaultEnum" array =" true" />
188- <field id =" 1" name =" Previous" type =" NetworkFaultEnum" array =" true" />
209+ <description >The NetworkFaultChange Event SHALL indicate a change in the set of network faults currently detected by the Node.</description >
210+ <field id =" 0" name =" Current" type =" NetworkFaultEnum" array =" true" length = " 4 " />
211+ <field id =" 1" name =" Previous" type =" NetworkFaultEnum" array =" true" length = " 4 " />
189212 <optionalConform />
190213 </event >
191- < event side = " server " code = " 0x03 " name = " BootReason " priority = " critical " optional = " false " >
192- < description >Indicate the reason that caused the device to start-up.</ description >
193- <field id = " 0 " name = " BootReason" type = " BootReasonEnum " / >
194- <mandatoryConform />
214+
215+ < event side = " server " code = " 0x03 " name = " BootReason " priority = " critical " >
216+ <description >The BootReason Event SHALL indicate the reason that caused the device to start-up.</ description >
217+ <field id = " 0 " name = " BootReason " type = " BootReasonEnum " max = " 0x06 " />
195218 </event >
219+
196220 </cluster >
197221</configurator >
0 commit comments