| <?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"/> |
| |
| <!-- |
| The generic enum values for the StatusCode and ModeTag enums are defined within the ModeBase namespace |
| in the mode-base-server source code. See mode-base-cluster-objects.h. |
| This is because zap does not currently support generating code for clusters that do not have a cluster ID. |
| --> |
| |
| <struct name="ModeTagStruct"> |
| <cluster code="0x0051"/> <!-- Laundry Washer Mode --> |
| <cluster code="0x0052"/> <!-- Refrigerator and temperature controlled cabinet Mode --> |
| <cluster code="0x0054"/> <!-- RVC Run Mode --> |
| <cluster code="0x0055"/> <!-- RVC Clean Mode --> |
| <cluster code="0x0059"/> <!-- Dishwasher Mode --> |
| <cluster code="0x005E"/> <!-- Microwave Oven Mode --> |
| <cluster code="0x0049"/> <!-- Oven Mode --> |
| <cluster code="0x009D"/> <!-- Energy EVSE Mode --> |
| <cluster code="0x009F"/> <!-- Device Energy Management Mode --> |
| <!-- MfgCode has been deprecated --> |
| <item name="MfgCode" type="vendor_id" optional="true"/> |
| <item name="Value" type="enum16" optional="false"/> |
| </struct> |
| |
| <struct name="ModeOptionStruct"> |
| <cluster code="0x0051"/> <!-- Laundry Washer Mode --> |
| <cluster code="0x0052"/> <!-- Refrigerator and temperature controlled cabinet Mode --> |
| <cluster code="0x0054"/> <!-- RVC Run Mode --> |
| <cluster code="0x0055"/> <!-- RVC Clean Mode --> |
| <cluster code="0x0059"/> <!-- Dishwasher Mode --> |
| <cluster code="0x005E"/> <!-- Microwave Oven Mode --> |
| <cluster code="0x0049"/> <!-- Oven Mode --> |
| <cluster code="0x009D"/> <!-- Energy EVSE Mode --> |
| <cluster code="0x009F"/> <!-- Device Energy Management Mode --> |
| <item name="Label" type="char_string" length="64" optional="false"/> |
| <item name="Mode" type="int8u" optional="false"/> |
| <item name="ModeTags" type="ModeTagStruct" array="true" length="8" optional="false"/> |
| </struct> |
| |
| <!-- <cluster>--> |
| <!-- <domain>General</domain>--> |
| <!-- <name>Mode Base</name>--> |
| <!-- <code>0x...</code>--> |
| <!-- <define>MODE_BASE_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="2"/>--> |
| <!-- <!– Base data types –>--> |
| <!-- <attribute side="server" code="0x0000" define="SUPPORTED_MODES" type="array" entryType="ModeOptionStruct" storage="external" writable="false" optional="false" isNullable="false" length="255">SupportedModes</attribute>--> |
| <!-- <attribute side="server" code="0x0001" define="CURRENT_MODE" type="int8u" storage="external" writable="false" optional="false" isNullable="false" reportable="true">CurrentMode</attribute>--> |
| <!-- <attribute side="server" code="0x0002" define="START_UP_MODE" type="int8u" storage="external" writable="true" optional="true" isNullable="true">StartUpMode</attribute>--> |
| <!-- <attribute side="server" code="0x0003" define="ON_MODE" type="int8u" storage="external" 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> |