<?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 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="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>
    <attribute side="server" code="0x00" define="NETWORK_INTERFACES" type="ARRAY" entryType="NetworkInterface" 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="UP_TIME" 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="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>

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