| <?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" /> |
| |
| <bitmap name="UserActiveModeTriggerBitmap" type="bitmap32"> |
| <cluster code="0x0046"/> |
| <field name="PowerCycle" mask="0x1"/> |
| <field name="SettingsMenu" mask="0x2"/> |
| <field name="CustomInstruction" mask="0x4"/> |
| <field name="DeviceManual" mask="0x8"/> |
| <field name="ActuateSensor" mask="0x10"/> |
| <field name="ActuateSensorSeconds" mask="0x20"/> |
| <field name="ActuateSensorTimes" mask="0x40"/> |
| <field name="ActuateSensorLightsBlink" mask="0x80"/> |
| <field name="ResetButton" mask="0x100"/> |
| <field name="ResetButtonLightsBlink" mask="0x200"/> |
| <field name="ResetButtonSeconds" mask="0x400"/> |
| <field name="ResetButtonTimes" mask="0x800"/> |
| <field name="SetupButton" mask="0x1000"/> |
| <field name="SetupButtonSeconds" mask="0x2000"/> |
| <field name="SetupButtonLightsBlink" mask="0x4000"/> |
| <field name="SetupButtonTimes" mask="0x8000"/> |
| <field name="AppDefinedButton" mask="0x10000"/> |
| </bitmap> |
| |
| <struct name = "MonitoringRegistrationStruct" isFabricScoped="true"> |
| <cluster code="0x0046"/> |
| <item fieldId="1" name="CheckInNodeID" type="node_id" isFabricSensitive="true"/> |
| <item fieldId="2" name="MonitoredSubject" type="int64u" isFabricSensitive="true"/> |
| <!-- RESERVED = 0x03 --> |
| </struct> |
| |
| <enum name="OperatingModeEnum" type="enum8"> |
| <cluster code="0x0046" /> |
| <item value="0" name="SIT" /> |
| <item value="1" name="LIT" /> |
| </enum> |
| |
| <cluster> |
| <domain>General</domain> |
| <name>ICD Management</name> |
| <code>0x0046</code> |
| <define>ICD_MANAGEMENT_CLUSTER</define> |
| <description>Allows servers to ensure that listed clients are notified when a server is available for communication.</description> |
| |
| <!-- Cluster feature map --> |
| <globalAttribute side="server" code="0xFFFC" value="0x0000"/> |
| <!-- Current cluster version --> |
| <globalAttribute side="either" code="0xFFFD" value="2"/> |
| |
| <features> |
| <feature bit="0" code="CIP" name="CheckInProtocolSupport" summary="Device supports attributes and commands for the Check-In Protocol support."> |
| <otherwiseConform> |
| <provisionalConform/> |
| <mandatoryConform> |
| <feature name="LITS"/> |
| </mandatoryConform> |
| <optionalConform/> |
| </otherwiseConform> |
| </feature> |
| <feature bit="1" code="UAT" name="UserActiveModeTrigger" summary="Device supports the user active mode trigger feature."> |
| <otherwiseConform> |
| <provisionalConform/> |
| <mandatoryConform> |
| <feature name="LITS"/> |
| </mandatoryConform> |
| <optionalConform/> |
| </otherwiseConform> |
| </feature> |
| <feature bit="2" code="LITS" name="LongIdleTimeSupport" summary="Device supports operating as a Long Idle Time ICD."> |
| <otherwiseConform> |
| <provisionalConform/> |
| <optionalConform/> |
| </otherwiseConform> |
| </feature> |
| </features> |
| |
| <attribute side="server" code="0x00" define="IDLE_MODE_DURATION" type="int32u" min="1" max="64800" default="1" writable="false" optional="false" isNullable="false">IdleModeDuration</attribute> |
| <attribute side="server" code="0x01" define="ACTIVE_MODE_DURATION" type="int32u" default="300" writable="false" optional="false" isNullable="false">ActiveModeDuration</attribute> |
| <attribute side="server" code="0x02" define="ACTIVE_MODE_THRESHOLD" type="int16u" default="300" writable="false" optional="false" isNullable="false">ActiveModeThreshold</attribute> |
| <attribute side="server" code="0x03" define="REGISTERED_CLIENTS" type="array" entryType="MonitoringRegistrationStruct" writable="false" optional="true" isNullable="false"> |
| <description>RegisteredClients</description> |
| <access op="read" privilege="administer"/> |
| </attribute> |
| <attribute side="server" code="0x04" define="ICD_COUNTER" type="int32u" writable="false" default="0" optional="true" isNullable="false"> |
| <description>ICDCounter</description> |
| <access op="read" privilege="administer"/> |
| </attribute> |
| <attribute side="server" code="0x05" define="CLIENTS_SUPPORTED_PER_FABRIC" type="int16u" min="1" default="1" writable="false" optional="true" isNullable="false">ClientsSupportedPerFabric</attribute> |
| <attribute side="server" code="0x06" define="USER_ACTIVE_MODE_TRIGGER_HINT" type="UserActiveModeTriggerBitmap" writable="false" optional="true" isNullable="false" apiMaturity="provisional">UserActiveModeTriggerHint</attribute> |
| <attribute side="server" code="0x07" define="USER_ACTIVE_MODE_TRIGGER_INSTRUCTION" type="char_string" length="128" writable="false" optional="true" isNullable="false" apiMaturity="provisional">UserActiveModeTriggerInstruction</attribute> |
| <attribute side="server" code="0x08" define="OPERATING_MODE" type="OperatingModeEnum" default="0" writable="false" optional="true" isNullable="false" apiMaturity="provisional">OperatingMode</attribute> |
| |
| <command source="client" code="0x00" name="RegisterClient" response="RegisterClientResponse" isFabricScoped="true" optional="true"> |
| <description>Register a client to the end device</description> |
| <arg name="CheckInNodeID" type="node_id" optional="false"/> |
| <arg name="MonitoredSubject" type="int64u" optional="false"/> |
| <arg name="Key" type="octet_string" length="16" optional="false"/> |
| <arg name="VerificationKey" type="octet_string" length="16" optional="true"/> |
| <access op="invoke" privilege="manage"/> |
| </command> |
| |
| <command source="server" code="0x01" name="RegisterClientResponse" optional="true" disableDefaultResponse="true"> |
| <description>RegisterClient response command</description> |
| <arg name="ICDCounter" type="int32u" isNullable="false"/> |
| </command> |
| |
| <command source="client" code="0x02" name="UnregisterClient" isFabricScoped="true" optional="true"> |
| <description>Unregister a client from an end device</description> |
| <arg name="CheckInNodeID" type="node_id"/> |
| <arg name="VerificationKey" type="octet_string" length="16" optional="true"/> |
| <access op="invoke" privilege="manage"/> |
| </command> |
| |
| <command source="client" code="0x03" name="StayActiveRequest" response="StayActiveResponse" optional="true"> |
| <description>Request the end device to stay in Active Mode for an additional ActiveModeThreshold</description> |
| <access op="invoke" privilege="manage"/> |
| <arg name="StayActiveDuration" type="int32u" isNullable="false"/> |
| </command> |
| |
| <command source="server" code="0x04" name="StayActiveResponse" optional="true" disableDefaultResponse="true"> |
| <description>StayActiveRequest response command</description> |
| <arg name="PromisedActiveDuration" type="int32u" isNullable="false"/> |
| </command> |
| </cluster> |
| </configurator> |