<?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="Measurement &amp; Sensing"/>

  <bitmap name="OccupancyBitmap" type="bitmap8">
    <cluster code="0x0406"/>
    <field name="Occupied" mask="0x1"/>
  </bitmap>

  <enum name="OccupancySensorTypeEnum" type="enum8">
    <cluster code="0x0406"/>
    <item name="PIR" value="0x0"/>
    <item name="Ultrasonic" value="0x1"/>
    <item name="PIRAndUltrasonic" value="0x2"/>
    <item name="PhysicalContact" value="0x3"/>
  </enum>

  <bitmap name="OccupancySensorTypeBitmap" type="bitmap8">
    <cluster code="0x0406"/>
    <field name="PIR" mask="0x01"/>
    <field name="Ultrasonic" mask="0x02"/>
    <field name="PhysicalContact" mask="0x04"/>
  </bitmap>

  <cluster>
    <name>Occupancy Sensing</name>
    <domain>Measurement &amp; Sensing</domain>
    <description>Attributes and commands for configuring occupancy sensing, and reporting occupancy status.</description>
    <code>0x0406</code>
    <define>OCCUPANCY_SENSING_CLUSTER</define>

    <client tick="false" init="false">true</client>
    <server tick="false" tickFrequency="half" init="false">true</server>

    <globalAttribute side="either" code="0xFFFD" value="4"/>

    <attribute side="server" code="0x0000" define="OCCUPANCY" type="OccupancyBitmap" min="0x00" max="0x01" writable="false" reportable="true" optional="false">Occupancy</attribute>
    <attribute side="server" code="0x0001" define="OCCUPANCY_SENSOR_TYPE" type="OccupancySensorTypeEnum" min="0x00" max="0xFE" writable="false" optional="false">OccupancySensorType</attribute>
    <attribute side="server" code="0x0002" define="OCCUPANCY_SENSOR_TYPE_BITMAP" type="OccupancySensorTypeBitmap" min="0x00" max="0x07" writable="false" optional="false">OccupancySensorTypeBitmap</attribute>

    <attribute side="server" code="0x0010" define="PIR_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
      <description>PIROccupiedToUnoccupiedDelay</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0011" define="PIR_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
      <description>PIRUnoccupiedToOccupiedDelay</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0012" define="PIR_UNOCCUPIED_TO_OCCUPIED_THRESHOLD" type="int8u" min="0x01" max="0xFE" writable="true" default="0x01" optional="true">
      <description>PIRUnoccupiedToOccupiedThreshold</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0020" define="ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
      <description>UltrasonicOccupiedToUnoccupiedDelay</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0021" define="ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
      <description>UltrasonicUnoccupiedToOccupiedDelay</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0022" define="ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD" type="int8u" min="0x01" max="0xFE" writable="true" default="0x01" optional="true">
      <description>UltrasonicUnoccupiedToOccupiedThreshold</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0030" define="PHYSICAL_CONTACT_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
      <description>PhysicalContactOccupiedToUnoccupiedDelay</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0031" define="PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
      <description>PhysicalContactUnoccupiedToOccupiedDelay</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>

    <attribute side="server" code="0x0032" define="PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_THRESHOLD" type="int8u" min="0x01" max="0xFE" writable="true" default="0x01" optional="true">
      <description>PhysicalContactUnoccupiedToOccupiedThreshold</description>
      <access op="read" role="view"/>
      <access op="write" role="manage"/>
    </attribute>
  </cluster>
</configurator>
