<?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="HardwareFaultType" 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="RadioFaultType" 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="NetworkFaultType" 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="BootReasonType" 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="InterfaceType" 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="NetworkInterfaceType">
    <cluster code="0x0033"/>
    <item name="Name" type="CHAR_STRING" length="32"/>
    <item name="IsOperational" type="BOOLEAN"/>
    <item name="OffPremiseServicesReachableIPv4" type="BOOLEAN" isNullable="true"/>
    <item name="OffPremiseServicesReachableIPv6" type="BOOLEAN" isNullable="true"/>
    <!-- TODO(#14075): HWADR not supported yet -->
    <item name="HardwareAddress" type="OCTET_STRING" length="8"/>
    <item name="IPv4Addresses" type="OCTET_STRING" array="true"/>
    <item name="IPv6Addresses" type="OCTET_STRING" array="true"/>
    <item name="Type" type="InterfaceType"/>
  </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>
    <attribute side="server" code="0x00" define="NETWORK_INTERFACES" type="ARRAY" entryType="NetworkInterfaceType" length="254" writable="false" optional="false">NetworkInterfaces</attribute>
    <attribute side="server" code="0x01" define="REBOOT_COUNT" type="INT16U" min="0x0000" max="0xFFFF" writable="false" default="0x0000" optional="false">RebootCount</attribute>
    <attribute side="server" code="0x02" define="UPTIME" type="INT64U" min="0x0000000000000000" max="0xFFFFFFFFFFFFFFFF" writable="false" default="0x0000000000000000" optional="true">UpTime</attribute>
    <attribute side="server" code="0x03" define="TOTAL_OPERATIONAL_HOURS" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" default="0x00000000" optional="true">TotalOperationalHours</attribute>
    <attribute side="server" code="0x04" define="BOOT_REASONS" type="ENUM8" writable="false" optional="true">BootReasons</attribute>
    <attribute side="server" code="0x05" define="ACTIVE_HARDWARE_FAULTS" type="ARRAY" entryType="ENUM8" writable="false" optional="true">ActiveHardwareFaults</attribute>
    <attribute side="server" code="0x06" define="ACTIVE_RADIO_FAULTS" type="ARRAY" entryType="ENUM8" writable="false" optional="true">ActiveRadioFaults</attribute>
    <attribute side="server" code="0x07" define="ACTIVE_NETWORK_FAULTS" type="ARRAY" entryType="ENUM8" writable="false" optional="true">ActiveNetworkFaults</attribute>
    <attribute side="server" code="0x08" define="TEST_EVENT_TRIGGERS_ENABLED" type="BOOLEAN" writable="false" optional="false">TestEventTriggersEnabled</attribute>

    <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>

    <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="HardwareFaultType" array="true"/>
      <field id="1" name="Previous" type="HardwareFaultType" 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="RadioFaultType" array="true"/>
      <field id="1" name="Previous" type="RadioFaultType" 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="NetworkFaultType" array="true"/>
      <field id="1" name="Previous" type="NetworkFaultType" 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="BootReasonType"/>
    </event>               
  </cluster>
</configurator>
