<?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"/>
    <cluster>
        <name>Bridged Device Basic</name>
        <domain>CHIP</domain>
        <description>This Cluster serves two purposes towards a Node communicating with a Bridge: indicate that the functionality on
          the Endpoint where it is placed (and its Parts) is bridged from a non-CHIP technology; and provide a centralized
          collection of attributes that the Node MAY collect to aid in conveying information regarding the Bridged Device to a user,
          such as the vendor name, the model name, or user-assigned name.</description>
        <code>0x0039</code>
        <define>BRIDGED_DEVICE_BASIC_CLUSTER</define>
        <client tick="false" init="false">true</client>
        <server tick="false" init="false">true</server>
        <globalAttribute side="either" code="0xFFFD" value="1"/>

        <attribute side="server" code="1"  define="VENDOR_NAME"               type="char_string"               length="32"                              optional="true">VendorName</attribute>
        <attribute side="server" code="2"  define="VENDOR_ID"                 type="vendor_id"                                                          optional="true">VendorID</attribute>
        <attribute side="server" code="3"  define="PRODUCT_NAME"              type="char_string"               length="32"                              optional="true">ProductName</attribute>
        <attribute side="server" code="5"  define="NODE_LABEL"                type="char_string"               length="32"  default=""  writable="true" optional="true">NodeLabel</attribute>
        <attribute side="server" code="7"  define="HARDWARE_VERSION"          type="int16u"                                 default="0"                 optional="true">HardwareVersion</attribute>
        <attribute side="server" code="8"  define="HARDWARE_VERSION_STRING"   type="char_string" minLength="1" length="64"                              optional="true">HardwareVersionString</attribute>
        <attribute side="server" code="9"  define="SOFTWARE_VERSION"          type="int32u"                                 default="0"                 optional="true">SoftwareVersion</attribute>
        <attribute side="server" code="10" define="SOFTWARE_VERSION_STRING"   type="char_string" minLength="1" length="64"                              optional="true">SoftwareVersionString</attribute>
        <attribute side="server" code="11" define="MANUFACTURING_DATE"        type="char_string" minLength="8" length="16"                              optional="true">ManufacturingDate</attribute>
        <attribute side="server" code="12" define="PART_NUMBER"               type="char_string"               length="32"                              optional="true">PartNumber</attribute>
        <attribute side="server" code="13" define="PRODUCT_URL"               type="long_char_string"          length="256"                             optional="true">ProductURL</attribute>
        <attribute side="server" code="14" define="PRODUCT_LABEL"             type="char_string"               length="64"                              optional="true">ProductLabel</attribute>
        <attribute side="server" code="15" define="SERIAL_NUMBER"             type="char_string"               length="32"                              optional="true">SerialNumber</attribute>
        <attribute side="server" code="17" define="REACHABLE"                 type="boolean"                                default="1"                 optional="false">Reachable</attribute>
        <attribute side="server" code="18" define="UNIQUE_ID"                 type="char_string"               length="32"                              optional="true">UniqueID</attribute>

        <event side="server" code="0x00" name="StartUp" priority="critical" optional="true">
            <description>The StartUp event SHALL be emitted by a Node as soon as reasonable after completing a boot or reboot process.</description>
            <field id="0" name="SoftwareVersion" type="INT32U"/>
        </event>
        <event side="server" code="0x01" name="ShutDown" priority="critical" optional="true">
            <description>The ShutDown event SHOULD be emitted by a Node prior to any orderly shutdown sequence on a best-effort basis.</description>
        </event>
        <event side="server" code="0x02" name="Leave" priority="info" optional="true">
            <description>The Leave event SHOULD be emitted by a Node prior to permanently leaving the Fabric.</description>
        </event>
        <event side="server" code="0x03" name="ReachableChanged" priority="info" optional="false">
            <description>This event SHALL be generated when there is a change in the Reachable attribute.</description>
            <field id="0" name="ReachableNewValue" type="boolean"/>
        </event>

    </cluster>
</configurator>
