blob: 26f0e5708dd280cb77193fed5b85e0fd1fd4f4cc [file] [log] [blame]
<?xml version="1.0"?>
<!--
Copyright (c) 2021 Project CHIP Authors
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<configurator>
<domain name="CHIP"/>
<enum name="HardwareFaultEnum" type="enum8">
<cluster code="0x0033"/>
<item name="Unspecified" value="0x00"/>
<item name="Radio" value="0x01"/>
<item name="Sensor" value="0x02"/>
<item name="ResettableOverTemp" value="0x03"/>
<item name="NonResettableOverTemp" value="0x04"/>
<item name="PowerSource" value="0x05"/>
<item name="VisualDisplayFault" value="0x06"/>
<item name="AudioOutputFault" value="0x07"/>
<item name="UserInterfaceFault" value="0x08"/>
<item name="NonVolatileMemoryError" value="0x09"/>
<item name="TamperDetected" value="0x0A"/>
</enum>
<enum name="RadioFaultEnum" type="enum8">
<cluster code="0x0033"/>
<item name="Unspecified" value="0x00"/>
<item name="WiFiFault" value="0x01"/>
<item name="CellularFault" value="0x02"/>
<item name="ThreadFault" value="0x03"/>
<item name="NFCFault" value="0x04"/>
<item name="BLEFault" value="0x05"/>
<item name="EthernetFault" value="0x06"/>
</enum>
<enum name="NetworkFaultEnum" type="enum8">
<cluster code="0x0033"/>
<item name="Unspecified" value="0x00"/>
<item name="HardwareFailure" value="0x01"/>
<item name="NetworkJammed" value="0x02"/>
<item name="ConnectionFailed" value="0x03"/>
</enum>
<enum name="BootReasonEnum" type="enum8">
<cluster code="0x0033"/>
<item name="Unspecified" value="0x00"/>
<item name="PowerOnReboot" value="0x01"/>
<item name="BrownOutReset" value="0x02"/>
<item name="SoftwareWatchdogReset" value="0x03"/>
<item name="HardwareWatchdogReset" value="0x04"/>
<item name="SoftwareUpdateCompleted" value="0x05"/>
<item name="SoftwareReset" value="0x06"/>
</enum>
<enum name="InterfaceTypeEnum" type="enum8">
<cluster code="0x0033"/>
<item name="Unspecified" value="0x00"/>
<item name="WiFi" value="0x01"/>
<item name="Ethernet" value="0x02"/>
<item name="Cellular" value="0x03"/>
<item name="Thread" value="0x04"/>
</enum>
<struct name="NetworkInterface">
<cluster code="0x0033"/>
<item code="0x00" name="Name" type="char_string" length="32"/>
<item code="0x01" name="IsOperational" type="boolean"/>
<item code="0x02" name="OffPremiseServicesReachableIPv4" type="boolean" isNullable="true"/>
<item code="0x03" name="OffPremiseServicesReachableIPv6" type="boolean" isNullable="true"/>
<!-- TODO(#14075): HWADR not supported yet -->
<item code="0x04" name="HardwareAddress" type="octet_string" length="8"/>
<item code="0x05" name="IPv4Addresses" type="octet_string" array="true"/>
<item code="0x06" name="IPv6Addresses" type="octet_string" array="true"/>
<item code="0x07" name="Type" type="InterfaceTypeEnum"/>
</struct>
<cluster>
<domain>General</domain>
<name>General Diagnostics</name>
<code>0x0033</code>
<define>GENERAL_DIAGNOSTICS_CLUSTER</define>
<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>
<globalAttribute side="either" code="0xFFFD" value="2"/>
<features>
<feature bit="0" code="DMTEST" name="DataModelTest" summary="Support specific testing needs for extended Data Model features">
<optionalConform/>
</feature>
</features>
<attribute side="server" code="0x00" define="NETWORK_INTERFACES" type="array" entryType="NetworkInterface" length="8" writable="false" optional="false">NetworkInterfaces</attribute>
<attribute side="server" code="0x01" define="REBOOT_COUNT" type="int16u" writable="false" default="0x0000" optional="false">RebootCount</attribute>
<!-- ***NOTE***: UpTime attribute is mandatory starting at Rev >= 2, but because of backwards compatibility, has to be optional here.
The device type config and cert tests (TC-DGGEN-1.1/2.1) ensure that it is present. -->
<attribute side="server" code="0x02" define="UP_TIME" type="int64u" writable="false" default="0x0000000000000000" optional="true">UpTime</attribute>
<attribute side="server" code="0x03" define="TOTAL_OPERATIONAL_HOURS" type="int32u" writable="false" default="0x00000000" optional="true">TotalOperationalHours</attribute>
<attribute side="server" code="0x04" define="BOOT_REASONS" type="BootReasonEnum" writable="false" optional="true">BootReason</attribute>
<attribute side="server" code="0x05" define="ACTIVE_HARDWARE_FAULTS" type="array" entryType="HardwareFaultEnum" writable="false" optional="true">ActiveHardwareFaults</attribute>
<attribute side="server" code="0x06" define="ACTIVE_RADIO_FAULTS" type="array" entryType="RadioFaultEnum" writable="false" optional="true">ActiveRadioFaults</attribute>
<attribute side="server" code="0x07" define="ACTIVE_NETWORK_FAULTS" type="array" entryType="NetworkFaultEnum" writable="false" optional="true">ActiveNetworkFaults</attribute>
<attribute side="server" code="0x08" define="TEST_EVENT_TRIGGERS_ENABLED" type="boolean" writable="false" optional="false">TestEventTriggersEnabled</attribute>
<!--
WARNING !!!!! Attribute 0x0009 (previously AverageWearCount, see #30002/#29285)
was previously mistakenly added in SDK without being in spec and WAS REMOVED.
Previously (disallowed):
<attribute side="server" code="0x09" define="AVERAGE_WEAR_COUNT" type="int32u" writable="false" default="0x00000000" optional="true">AverageWearCount</attribute>
====== ID 0x0009 is reserved, do not use ======
-->
<command source="client" code="0x00" name="TestEventTrigger" optional="false">
<description>Provide a means for certification tests to trigger some test-plan-specific events</description>
<arg name="EnableKey" type="octet_string" length="16"/>
<arg name="EventTrigger" type="int64u"/>
<access op="invoke" role="manage"/>
</command>
<command source="client" code="0x01" name="TimeSnapshot" response="TimeSnapshotResponse" optional="false" apiMaturity="provisional">
<description>Take a snapshot of system time and epoch time.</description>
</command>
<command source="server" code="0x02" name="TimeSnapshotResponse" optional="false" apiMaturity="provisional">
<description>Response for the TimeSnapshot command.</description>
<arg name="SystemTimeMs" type="systime_ms" optional="false"/>
<arg name="PosixTimeMs" type="posix_ms" isNullable="true" optional="false"/>
</command>
<command source="client" code="0x03" name="PayloadTestRequest" response="PayloadTestResponse" optional="true" apiMaturity="provisional">
<description>Request a variable length payload response.</description>
<arg name="EnableKey" type="octet_string" length="16"/>
<arg name="Value" type="int8u"/>
<arg name="Count" type="int16u" max="2048"/>
</command>
<command source="server" code="0x04" name="PayloadTestResponse" optional="true" apiMaturity="provisional">
<description>Response for the PayloadTestRequest command.</description>
<arg name="Payload" type="octet_string" max="2048" optional="false"/>
</command>
<event side="server" code="0x00" name="HardwareFaultChange" priority="critical" optional="true">
<description>Indicate a change in the set of hardware faults currently detected by the Node.</description>
<field id="0" name="Current" type="HardwareFaultEnum" array="true"/>
<field id="1" name="Previous" type="HardwareFaultEnum" array="true"/>
</event>
<event side="server" code="0x01" name="RadioFaultChange" priority="critical" optional="true">
<description>Indicate a change in the set of radio faults currently detected by the Node.</description>
<field id="0" name="Current" type="RadioFaultEnum" array="true"/>
<field id="1" name="Previous" type="RadioFaultEnum" array="true"/>
</event>
<event side="server" code="0x02" name="NetworkFaultChange" priority="critical" optional="true">
<description>Indicate a change in the set of network faults currently detected by the Node.</description>
<field id="0" name="Current" type="NetworkFaultEnum" array="true"/>
<field id="1" name="Previous" type="NetworkFaultEnum" array="true"/>
</event>
<event side="server" code="0x03" name="BootReason" priority="critical" optional="false">
<description>Indicate the reason that caused the device to start-up.</description>
<field id="0" name="BootReason" type="BootReasonEnum"/>
</event>
</cluster>
</configurator>