<?xml version="1.0"?>
<!--
Copyright (c) 2023 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="ModeTag" type="enum16">
    <cluster code="0x0049"/>
    <item value="0x4000" name="Bake"/>
    <item value="0x4001" name="Convection"/>
    <item value="0x4002" name="Grill"/>
    <item value="0x4003" name="Roast"/>
    <item value="0x4004" name="Clean"/>
    <item value="0x4005" name="Convection Bake"/>
    <item value="0x4006" name="Convection Roast"/>
    <item value="0x4007" name="Warming"/>
    <item value="0x4008" name="Proofing"/>
  </enum>

  <cluster>
    <domain>General</domain>
    <name>Oven Mode</name>
    <code>0x0049</code>
    <define>OVEN_MODE_CLUSTER</define>
    <client init="false" tick="false">true</client>
    <server init="false" tick="false">true</server>
    <description>Attributes and commands for selecting a mode from a list of supported options.</description>
    <globalAttribute side="either" code="0xFFFD" value="1"/>

    <features>
      <feature bit="0" code="DEPONOFF" name="OnOff" summary="Dependency with the OnOff cluster">
        <optionalConform/>
      </feature>
    </features>

    <!-- Base data types -->
    <attribute side="server" code="0x0000" define="SUPPORTED_MODES"  type="array" entryType="ModeOptionStruct" writable="false" optional="false" isNullable="false" length="255">SupportedModes</attribute>
    <attribute side="server" code="0x0001" define="CURRENT_MODE"     type="int8u"                              writable="false" optional="false" isNullable="false" reportable="true">CurrentMode</attribute>
    <attribute side="server" code="0x0002" define="START_UP_MODE"    type="int8u"                              writable="true"  optional="true"  isNullable="true">StartUpMode</attribute>
    <attribute side="server" code="0x0003" define="ON_MODE"          type="int8u"                              writable="true"  optional="true"  isNullable="true">OnMode</attribute>

    <!-- Commands -->
    <command source="client" code="0x00" name="ChangeToMode" response="ChangeToModeResponse" optional="false">
      <description>
        This command is used to change device modes.
        On receipt of this command the device SHALL respond with a ChangeToModeResponse command.
      </description>
      <arg name="NewMode" type="int8u" optional="false"/>
    </command>

    <command source="server" code="0x01" name="ChangeToModeResponse" disableDefaultResponse="true" optional="false">
      <description>
        This command is sent by the device on receipt of the ChangeToModeWithStatus command.
      </description>
      <arg name="Status"     type="enum8"                   optional="false"/>
      <arg name="StatusText" type="char_string" lenght="64" optional="true"/>
    </command>
  </cluster>
</configurator>
