<?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="SecurityType" type="ENUM8">
    <cluster code="0x0036"/>
    <item name="Unspecified" value="0x00"/>
    <item name="None" value="0x01"/>
    <item name="WEP" value="0x02"/>
    <item name="WPA" value="0x03"/>
    <item name="WPA2" value="0x04"/>
    <item name="WPA3" value="0x05"/>    
  </enum>
  <enum name="WiFiVersionType" type="ENUM8">
    <cluster code="0x0036"/>
    <item name="802.11a" value="0x00"/>
    <item name="802.11b" value="0x01"/>
    <item name="802.11g" value="0x02"/>
    <item name="802.11n" value="0x03"/>
    <item name="802.11ac" value="0x04"/>
    <item name="802.11ax" value="0x05"/>    
  </enum>
  <enum name="AssociationFailureCause" type="ENUM8">
    <cluster code="0x0036"/>
    <item name="Unknown" value="0x00"/>
    <item name="AssociationFailed" value="0x01"/>
    <item name="AuthenticationFailed" value="0x02"/>
    <item name="SsidNotFound" value="0x03"/>
  </enum>
  <enum name="WiFiConnectionStatus" type="ENUM8">
    <cluster code="0x0036"/>
    <item name="Connected" value="0x00"/>
    <item name="NotConnected" value="0x01"/>
  </enum>  
  <cluster>
    <domain>General</domain>
    <name>WiFi Network Diagnostics</name>
    <code>0x0036</code>
    <define>WIFI_NETWORK_DIAGNOSTICS_CLUSTER</define>
    <description>The Wi-Fi Network Diagnostics Cluster provides 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="BSSID" type="OCTET_STRING" length="6" writable="false" isNullable="true" optional="false">bssid</attribute>
    <attribute side="server" code="0x01" define="SECURITY_TYPE" type="SecurityType" writable="false" isNullable="true" optional="false">SecurityType</attribute>
    <attribute side="server" code="0x02" define="WIFI_VERSION" type="WiFiVersionType" writable="false" isNullable="true" optional="false">WiFiVersion</attribute>
    <attribute side="server" code="0x03" define="CHANNEL_NUMBER" type="INT16U" min="0x0000" max="0xFFFF" writable="false" default="0x0000" isNullable="true" optional="false">ChannelNumber</attribute>
    <attribute side="server" code="0x04" define="RSSI" type="INT8S" min="-120" max="0" writable="false" isNullable="true" optional="false">Rssi</attribute>
    <attribute side="server" code="0x05" define="BEACON_LOST_COUNT" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" default="0x00000000" isNullable="true" optional="true">BeaconLostCount</attribute>
    <attribute side="server" code="0x06" define="BEACON_RX_COUNT" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" default="0x00000000" isNullable="true" optional="true">BeaconRxCount</attribute>
    <attribute side="server" code="0x07" define="PACKET_MULTICAST_RX_COUNT" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" default="0x00000000" isNullable="true" optional="true">PacketMulticastRxCount</attribute>
    <attribute side="server" code="0x08" define="PACKET_MULTICAST_TX_COUNT" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" default="0x00000000" isNullable="true" optional="true">PacketMulticastTxCount</attribute>
    <attribute side="server" code="0x09" define="PACKET_UNICAST_RX_COUNT" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" default="0x00000000" isNullable="true" optional="true">PacketUnicastRxCount</attribute>
    <attribute side="server" code="0x0A" define="PACKET_UNICAST_TX_COUNT" type="INT32U" min="0x00000000" max="0xFFFFFFFF" writable="false" default="0x00000000" isNullable="true" optional="true">PacketUnicastTxCount</attribute>
    <attribute side="server" code="0x0B" define="CURRENT_MAX_RATE" type="INT64U" min="0x0000000000000000" max="0xFFFFFFFFFFFFFFFF" writable="false" default="0x0000000000000000" isNullable="true" optional="true">CurrentMaxRate</attribute>
    <attribute side="server" code="0x0C" define="OVERRUN_COUNT" type="INT64U" min="0x0000000000000000" max="0xFFFFFFFFFFFFFFFF" writable="false" default="0x0000000000000000" isNullable="true" optional="true">OverrunCount</attribute>
    <command source="client" code="0x00" name="ResetCounts" optional="true" cli="chip wifi_network_diagnostics resetcounts">
      <description>Reception of this command SHALL reset the Breacon and Packet related count attributes to 0</description>
    </command>
    <event side="server" code="0x00" name="Disconnection" priority="info" optional="true">
      <description>Indicate that a Node’s Wi-Fi connection has been disconnected as a result of de-authenticated or dis-association and indicates the reason.</description>
      <field id="0" name="ReasonCode" type="INT16U"/>
    </event>
    <event side="server" code="0x01" name="AssociationFailure" priority="info" optional="true">
      <description>Indicate that a Node has failed to connect, or reconnect, to a Wi-Fi access point.</description>
      <field id="0" name="AssociationFailure" type="AssociationFailureCause"/>
      <field id="1" name="Status" type="INT16U"/>      
    </event>
    <event side="server" code="0x02" name="ConnectionStatus" priority="info" optional="true">
      <description>Indicate that a Node’s connection status to a Wi-Fi network has changed.</description>
      <field id="0" name="ConnectionStatus" type="WiFiConnectionStatus"/>
    </event>                  
  </cluster>
  <bitmap name="WiFiNetworkDiagnosticsFeature" type="BITMAP32">
    <field name="PacketCounts" mask="0x1"/>
    <field name="ErrorCounts" mask="0x2"/>
  </bitmap>  
</configurator>
