Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Generate occupancySensing cluster with Alchemy #37913

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<!--
Copyright (c) 2023 Project CHIP Authors
Copyright (c) 2023-2025 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.
Expand All @@ -14,9 +14,14 @@ 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>
<!--
XML generated by Alchemy; DO NOT EDIT.
Source: src/app_clusters/OccupancySensing.adoc
Parameters: in-progress
Git:
-->
<configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../zcl.xsd">
<domain name="Measurement &amp; Sensing"/>

<bitmap name="OccupancyBitmap" type="bitmap8">
<cluster code="0x0406"/>
<field name="Occupied" mask="0x1"/>
Expand All @@ -38,10 +43,11 @@ limitations under the License.
</bitmap>

<struct apiMaturity="provisional" name="HoldTimeLimitsStruct">
<cluster code="0x0406"/> <!-- Occupancy Sensing Cluster -->
<item name="HoldTimeMin" fieldId="0" type="int16u" optional="false"/>
<item name="HoldTimeMax" fieldId="1" type="int16u" optional="false"/>
<item name="HoldTimeDefault" fieldId="2" type="int16u" optional="false"/>
<cluster code="0x0406"/>
<!-- Occupancy Sensing Cluster -->
<item fieldId="0" name="HoldTimeMin" type="int16u" min="1"/>
<item fieldId="1" name="HoldTimeMax" type="int16u" min="1" max="1"/>
<item fieldId="2" name="HoldTimeDefault" type="int16u" min="1" max="1"/>
</struct>

<cluster>
Expand All @@ -50,68 +56,48 @@ limitations under the License.
<description>The server cluster provides an interface to occupancy sensing functionality based on one or more sensing modalities, including configuration and provision of notifications of occupancy status.</description>
<code>0x0406</code>
<define>OCCUPANCY_SENSING_CLUSTER</define>

<features>
<feature apiMaturity="provisional" bit="0" code="OTHER" name="Other" summary="Supports sensing using a modality not listed in the other bits">
<optionalConform choice="a" more="true"/>
</feature>
<feature apiMaturity="provisional" bit="1" code="PIR" name="PassiveInfrared" summary="Supports sensing using PIR (Passive InfraRed)">
<optionalConform choice="a" more="true"/>
</feature>
<feature apiMaturity="provisional" bit="2" code="US" name="Ultrasonic" summary="Supports sensing using UltraSound">
<optionalConform choice="a" more="true"/>
</feature>
<feature apiMaturity="provisional" bit="3" code="PHY" name="PhysicalContact" summary="Supports sensing using a physical contact">
<optionalConform choice="a" more="true"/>
</feature>
<feature apiMaturity="provisional" bit="4" code="AIR" name="ActiveInfrared" summary="Supports sensing using Active InfraRed measurement (e.g. time-of-flight or transflective/reflective IR sensing)">
<optionalConform choice="a" more="true"/>
</feature>
<feature apiMaturity="provisional" bit="5" code="RAD" name="Radar" summary="Supports sensing using radar waves (microwave)">
<optionalConform choice="a" more="true"/>
</feature>
<feature apiMaturity="provisional" bit="6" code="RFS" name="RFSensing" summary="Supports sensing based on RF signal analysis">
<optionalConform choice="a" more="true"/>
</feature>
<feature apiMaturity="provisional" bit="7" code="VIS" name="Vision" summary="Supports sensing based on analyzing images">
<optionalConform choice="a" more="true"/>
</feature>
<feature bit="0" code="OTHER" name="Other" summary="Supports sensing using a modality not listed in the other bits">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="1" code="PIR" name="PassiveInfrared" summary="Supports sensing using PIR (Passive InfraRed)">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="2" code="US" name="Ultrasonic" summary="Supports sensing using UltraSound">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="3" code="PHY" name="PhysicalContact" summary="Supports sensing using a physical contact">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="4" code="AIR" name="ActiveInfrared" summary="Supports sensing using Active InfraRed measurement (e.g. time-of-flight or transflective/reflective IR sensing)">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="5" code="RAD" name="Radar" summary="Supports sensing using radar waves (microwave)">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="6" code="RFS" name="RFSensing" summary="Supports sensing based on RF signal analysis">
<optionalConform choice="a" more="true" min="1"/>
</feature>
<feature bit="7" code="VIS" name="Vision" summary="Supports sensing based on analyzing images">
<optionalConform choice="a" more="true" min="1"/>
</feature>
</features>

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

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

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

<attribute side="server" code="0x0003" name="HoldTime" define="HOLD_TIME" type="int16u" writable="true" optional="true">
<attribute side="server" code="0x0000" name="Occupancy" define="OCCUPANCY" type="OccupancyBitmap" min="0x00" max="0x01"/>
<attribute side="server" code="0x0001" name="OccupancySensorType" define="OCCUPANCY_SENSOR_TYPE" type="OccupancySensorTypeEnum" min="0x00" max="0x03"/>
<attribute side="server" code="0x0002" name="OccupancySensorTypeBitmap" define="OCCUPANCY_SENSOR_TYPE_BITMAP" type="OccupancySensorTypeBitmap" min="0x00" max="0x07"/>
<attribute side="server" code="0x0003" name="HoldTime" define="HOLD_TIME" type="int16u" writable="true" optional="true" min="0" max="65535">
<access op="write" privilege="manage"/>
<optionalConform/>
</attribute>

<attribute side="server" code="0x0004" name="HoldTimeLimits" define="HOLD_TIME_LIMITS" type="HoldTimeLimitsStruct" optional="true">
<mandatoryConform>
<attribute name="HoldTime"/>
</mandatoryConform>
</attribute>

<attribute side="server" code="0x0010" name="PIROccupiedToUnoccupiedDelay" define="PIR_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
<access op="read" role="view"/>
<attribute side="server" code="0x0010" name="PIROccupiedToUnoccupiedDelay" define="PIR_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true" min="0" max="65535">
<access op="write" role="manage"/>
<otherwiseConform>
<optionalConform>
Expand All @@ -136,9 +122,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0011" name="PIRUnoccupiedToOccupiedDelay" define="PIR_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
<access op="read" role="view"/>
<attribute side="server" code="0x0011" name="PIRUnoccupiedToOccupiedDelay" define="PIR_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true" min="0" max="65535">
<access op="write" role="manage"/>
<otherwiseConform>
<mandatoryConform>
Expand Down Expand Up @@ -185,9 +169,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0012" name="PIRUnoccupiedToOccupiedThreshold" define="PIR_UNOCCUPIED_TO_OCCUPIED_THRESHOLD" type="int8u" min="0x01" max="0xFE" writable="true" default="0x01" optional="true">
<access op="read" role="view"/>
<access op="write" role="manage"/>
<otherwiseConform>
<mandatoryConform>
Expand Down Expand Up @@ -234,9 +216,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0020" name="UltrasonicOccupiedToUnoccupiedDelay" define="ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
<access op="read" role="view"/>
<attribute side="server" code="0x0020" name="UltrasonicOccupiedToUnoccupiedDelay" define="ULTRASONIC_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true" min="0" max="65535">
<access op="write" role="manage"/>
<otherwiseConform>
<optionalConform>
Expand All @@ -248,9 +228,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0021" name="UltrasonicUnoccupiedToOccupiedDelay" define="ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
<access op="read" role="view"/>
<attribute side="server" code="0x0021" name="UltrasonicUnoccupiedToOccupiedDelay" define="ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true" min="0" max="65535">
<access op="write" role="manage"/>
<otherwiseConform>
<mandatoryConform>
Expand All @@ -269,9 +247,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0022" name="UltrasonicUnoccupiedToOccupiedThreshold" define="ULTRASONIC_UNOCCUPIED_TO_OCCUPIED_THRESHOLD" type="int8u" min="0x01" max="0xFE" writable="true" default="0x01" optional="true">
<access op="read" role="view"/>
<access op="write" role="manage"/>
<otherwiseConform>
<mandatoryConform>
Expand All @@ -290,9 +266,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0030" name="PhysicalContactOccupiedToUnoccupiedDelay" define="PHYSICAL_CONTACT_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
<access op="read" role="view"/>
<attribute side="server" code="0x0030" name="PhysicalContactOccupiedToUnoccupiedDelay" define="PHYSICAL_CONTACT_OCCUPIED_TO_UNOCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true" min="0" max="65535">
<access op="write" role="manage"/>
<otherwiseConform>
<optionalConform>
Expand All @@ -304,9 +278,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0031" name="PhysicalContactUnoccupiedToOccupiedDelay" define="PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true">
<access op="read" role="view"/>
<attribute side="server" code="0x0031" name="PhysicalContactUnoccupiedToOccupiedDelay" define="PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_DELAY" type="int16u" writable="true" default="0x0000" optional="true" min="0" max="65535">
<access op="write" role="manage"/>
<otherwiseConform>
<mandatoryConform>
Expand All @@ -325,9 +297,7 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<attribute side="server" code="0x0032" name="PhysicalContactUnoccupiedToOccupiedThreshold" define="PHYSICAL_CONTACT_UNOCCUPIED_TO_OCCUPIED_THRESHOLD" type="int8u" min="0x01" max="0xFE" writable="true" default="0x01" optional="true">
<access op="read" role="view"/>
<access op="write" role="manage"/>
<otherwiseConform>
<mandatoryConform>
Expand All @@ -346,11 +316,11 @@ limitations under the License.
<deprecateConform/>
</otherwiseConform>
</attribute>

<event side="server" code="0x00" priority="info" name="OccupancyChanged" optional="true">
<description>If this event is supported, it SHALL be generated when the Occupancy attribute changes.</description>
<field id="0" name="Occupancy" type="OccupancyBitmap"/>
<field id="0" name="Occupancy" type="OccupancyBitmap" min="0x00" max="0x01"/>
<optionalConform/>
</event>

</cluster>
</configurator>
Loading