| <?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> |