blob: d849313d269a839e8cb85bb1ee918e2640c064e8 [file] [log] [blame]
<?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="TimerStatusEnum" type="enum8">
<cluster code="0x0047" />
<item name="Running" value="0x0" />
<item name="Paused" value="0x1" />
<item name="Expired" value="0x2" />
<item name="Ready" value="0x3" />
</enum>
<cluster apiMaturity="provisional">
<domain>General</domain>
<name>Timer</name>
<code>0x0047</code>
<define>TIMER_CLUSTER</define>
<client init="false" tick="false">true</client>
<server init="false" tick="false">true</server>
<description>This cluster supports creating a simple timer functionality.</description>
<globalAttribute side="either" code="0xFFFD" value="1" />
<features>
<feature bit="0" code="RESET" name="Reset" summary="Supports the ability to reset timer">
<optionalConform/>
</feature>
</features>
<attribute side="server" code="0x0000" define="SET_TIME" type="elapsed_s" writable="false" isNullable="false" optional="false">SetTime</attribute>
<attribute side="server" code="0x0001" define="TIME_REMAINING" type="elapsed_s" writable="false" isNullable="false" optional="false">TimeRemaining</attribute>
<attribute side="server" code="0x0002" define="TIMER_STATE" type="TimerStatusEnum" writable="false" isNullable="false" optional="false">TimerState</attribute>
<command source="client" code="0x00" name="SetTimer" optional="false">
<description>
This command is used to set the timer.
</description>
<arg name="NewTime" type="elapsed_s" optional="false"/>
</command>
<command source="client" code="0x01" name="ResetTimer" optional="true">
<description>
This command is used to reset the timer to the original value.
</description>
</command>
<command source="client" code="0x02" name="AddTime" optional="false">
<description>
This command is used to add time to the existing timer.
</description>
<arg name="AdditionalTime" type="elapsed_s" optional="false"/>
</command>
<command source="client" code="0x03" name="ReduceTime" optional="true">
<description>
This command is used to reduce time on the existing timer.
</description>
<arg name="TimeReduction" type="elapsed_s" optional="false"/>
</command>
</cluster>
</configurator>