Skip to content

Commit 4f6c297

Browse files
committed
updating xml and zap code for closure control with updated spec
1 parent 43a8a9b commit 4f6c297

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+445
-3703
lines changed

src/app/zap-templates/zcl/data-model/chip/closure-control-cluster.xml

+12-91
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ limitations under the License.
1818
XML generated by Alchemy; DO NOT EDIT.
1919
Source: src/app_clusters/ClosureControl.adoc
2020
Parameters: in-progress
21-
Git: 0.7-summer-2025-5-g06c4d5596-dirty
21+
Git: 0.7-summer-2025-173-g70b2a23aa-dirty
2222
-->
2323
<configurator xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../zcl.xsd">
2424
<domain name="Closures"/>
@@ -47,7 +47,6 @@ Git: 0.7-summer-2025-5-g06c4d5596-dirty
4747
<item name="Protected" value="0x05"/>
4848
<item name="Disengaged" value="0x06"/>
4949
<item name="SetupRequired" value="0x07"/>
50-
<item name="PendingFallback" value="0x08"/>
5150
</enum>
5251

5352
<enum name="PositioningEnum" type="enum8">
@@ -60,58 +59,33 @@ Git: 0.7-summer-2025-5-g06c4d5596-dirty
6059
<item name="OpenedAtSignature" value="0x05"/>
6160
</enum>
6261

63-
<enum name="RestingProcedureEnum" type="enum8">
64-
<cluster code="0x0104"/>
65-
<item name="DoNothing" value="0x00"/>
66-
<item name="ReturnToFullyOpened" value="0x01"/>
67-
<item name="ReturnToFullyClosed" value="0x02"/>
68-
</enum>
69-
70-
<enum name="TagLatchEnum" type="enum8">
62+
<enum name="TargetLatchEnum" type="enum8">
7163
<cluster code="0x0104"/>
7264
<item name="Latch" value="0x00"/>
7365
<item name="Unlatch" value="0x01"/>
7466
</enum>
7567

76-
<enum name="TagPositionEnum" type="enum8">
68+
<enum name="TargetPositionEnum" type="enum8">
7769
<cluster code="0x0104"/>
7870
<item name="CloseInFull" value="0x00"/>
7971
<item name="OpenInFull" value="0x01"/>
8072
<item name="Pedestrian" value="0x02"/>
8173
<item name="Ventilation" value="0x03"/>
8274
<item name="Signature" value="0x04"/>
83-
<item name="SequenceNextStep" value="0x05"/>
84-
<item name="PedestrianNextStep" value="0x06"/>
85-
</enum>
86-
87-
<enum name="TriggerConditionEnum" type="enum8">
88-
<cluster code="0x0104"/>
89-
<item name="AfterDelay" value="0x00"/>
90-
<item name="AfterApplicativeTrigger" value="0x01"/>
91-
<item name="AfterDelayOrApplicativeTrigger" value="0x02"/>
92-
</enum>
93-
94-
<enum name="TriggerPositionEnum" type="enum8">
95-
<cluster code="0x0104"/>
96-
<item name="AtFullyClosed" value="0x00"/>
97-
<item name="AtFullyOpened" value="0x01"/>
98-
<item name="InBetween" value="0x02"/>
99-
<item name="AtVentilation" value="0x03"/>
100-
<item name="AtPedestrian" value="0x04"/>
10175
</enum>
10276

10377
<struct name="OverallStateStruct" apiMaturity="provisional">
10478
<cluster code="0x0104"/>
105-
<item fieldId="0" name="Positioning" type="PositioningEnum" optional="true" default="0x02" min="0x00" max="0x05"/>
106-
<item fieldId="1" name="Latching" type="LatchingEnum" optional="true" default="0x02" min="0x00" max="0x02"/>
107-
<item fieldId="2" name="Speed" type="ThreeLevelAutoEnum" optional="true" default="0x00" min="0x00" max="0x03"/>
108-
<item fieldId="3" name="ExtraInfo" type="bitmap32" optional="true"/>
79+
<item fieldId="0" name="Positioning" type="PositioningEnum" optional="true" default="0x02" min="0x00" max="0x05" isNullable="true"/>
80+
<item fieldId="1" name="Latching" type="LatchingEnum" optional="true" default="0x02" min="0x00" max="0x02" isNullable="true"/>
81+
<item fieldId="2" name="Speed" type="ThreeLevelAutoEnum" optional="true" default="0x00" min="0x00" max="0x03" isNullable="true"/>
82+
<item fieldId="3" name="ExtraInfo" type="bitmap32" optional="true" isNullable="true"/>
10983
</struct>
11084

11185
<struct name="OverallTargetStruct" apiMaturity="provisional">
11286
<cluster code="0x0104"/>
113-
<item fieldId="0" name="TagPosition" type="TagPositionEnum" optional="true" min="0x00" max="0x06"/>
114-
<item fieldId="1" name="TagLatch" type="TagLatchEnum" optional="true" min="0x00" max="0x01"/>
87+
<item fieldId="0" name="Position" type="TargetPositionEnum" optional="true" min="0x00" max="0x04"/>
88+
<item fieldId="1" name="Latch" type="TargetLatchEnum" optional="true" min="0x00" max="0x01"/>
11589
<item fieldId="2" name="Speed" type="ThreeLevelAutoEnum" optional="true" min="0x00" max="0x03"/>
11690
</struct>
11791

@@ -128,40 +102,10 @@ Git: 0.7-summer-2025-5-g06c4d5596-dirty
128102
<description>CountdownTime</description>
129103
<optionalConform/>
130104
</attribute>
131-
<attribute code="0x0001" side="server" define="MAIN_STATE" type="MainStateEnum" min="0x00" max="0x08">MainState</attribute>
105+
<attribute code="0x0001" side="server" define="MAIN_STATE" type="MainStateEnum" min="0x00" max="0x07">MainState</attribute>
132106
<attribute code="0x0002" side="server" define="CURRENT_ERROR_LIST" type="array" entryType="ClosureErrorEnum">CurrentErrorList</attribute>
133107
<attribute code="0x0003" side="server" define="OVERALL_STATE" type="OverallStateStruct" isNullable="true">OverallState</attribute>
134108
<attribute code="0x0004" side="server" define="OVERALL_TARGET" type="OverallTargetStruct" isNullable="true">OverallTarget</attribute>
135-
<attribute code="0x0005" side="server" define="RESTING_PROCEDURE" type="RestingProcedureEnum" min="0x00" max="0x02" optional="true">
136-
<description>RestingProcedure</description>
137-
<mandatoryConform>
138-
<feature name="FB"/>
139-
</mandatoryConform>
140-
</attribute>
141-
<attribute code="0x0006" side="server" define="TRIGGER_CONDITION" type="TriggerConditionEnum" min="0x00" max="0x02" optional="true">
142-
<description>TriggerCondition</description>
143-
<mandatoryConform>
144-
<feature name="FB"/>
145-
</mandatoryConform>
146-
</attribute>
147-
<attribute code="0x0007" side="server" define="TRIGGER_POSITION" type="TriggerPositionEnum" optional="true" min="0x00" max="0x04">
148-
<description>TriggerPosition</description>
149-
<mandatoryConform>
150-
<feature name="FB"/>
151-
</mandatoryConform>
152-
</attribute>
153-
<attribute code="0x0008" side="server" define="WAITING_DELAY" type="elapsed_s" max="86400" default="60" optional="true">
154-
<description>WaitingDelay</description>
155-
<mandatoryConform>
156-
<feature name="FB"/>
157-
</mandatoryConform>
158-
</attribute>
159-
<attribute code="0x0009" side="server" define="KICKOFF_TIMER" type="elapsed_s" max="86400" default="0" optional="true">
160-
<description>KickoffTimer</description>
161-
<mandatoryConform>
162-
<feature name="FB"/>
163-
</mandatoryConform>
164-
</attribute>
165109
<command code="0x00" source="client" name="Stop" optional="true">
166110
<description>On receipt of this command, the device SHALL stop its operation if it is at a position where it is safe to do so and/or permitted.</description>
167111
<mandatoryConform>
@@ -173,8 +117,8 @@ Git: 0.7-summer-2025-5-g06c4d5596-dirty
173117

174118
<command code="0x01" source="client" name="MoveTo" optional="false">
175119
<description>Upon receipt, this SHALL move the product in the most fitting state following the data as follows: </description>
176-
<arg id="0" name="Tag" type="TagPositionEnum" optional="true" min="0x00" max="0x06"/>
177-
<arg id="1" name="Latch" type="TagLatchEnum" optional="true" min="0x00" max="0x01"/>
120+
<arg id="0" name="Position" type="TargetPositionEnum" optional="true" min="0x00" max="0x04"/>
121+
<arg id="1" name="Latch" type="TargetLatchEnum" optional="true" min="0x00" max="0x01"/>
178122
<arg id="2" name="Speed" type="ThreeLevelAutoEnum" optional="true" min="0x00" max="0x03"/>
179123
</command>
180124

@@ -186,24 +130,6 @@ Git: 0.7-summer-2025-5-g06c4d5596-dirty
186130
</mandatoryConform>
187131
</command>
188132

189-
<command code="0x03" source="client" name="ConfigureFallback" optional="true">
190-
<description>Upon receipt, this SHALL configure the Fallback feature behavior using the data as follows: </description>
191-
<arg id="0" name="RestingProcedure" type="RestingProcedureEnum" optional="true" min="0x00" max="0x02"/>
192-
<arg id="1" name="TriggerCondition" type="TriggerConditionEnum" optional="true" min="0x00" max="0x02"/>
193-
<arg id="2" name="TriggerPosition" type="TriggerPositionEnum" optional="true" min="0x00" max="0x04"/>
194-
<arg id="3" name="WaitingDelay" type="elapsed_s" optional="true" max="86400"/>
195-
<mandatoryConform>
196-
<feature name="FB"/>
197-
</mandatoryConform>
198-
</command>
199-
200-
<command code="0x04" source="client" name="CancelFallback" optional="true">
201-
<description>Upon receipt, this SHALL cancel the current PendingFallback.</description>
202-
<mandatoryConform>
203-
<feature name="FB"/>
204-
</mandatoryConform>
205-
</command>
206-
207133
<features>
208134
<feature bit="0" code="PS" name="Positioning" summary="Supports positioning with at least Fully Opened (0%) and Fully Closed (100%) discrete position">
209135
<optionalConform choice="a" more="true" min="1"/>
@@ -245,11 +171,6 @@ Git: 0.7-summer-2025-5-g06c4d5596-dirty
245171
<feature bit="8" code="MO" name="ManuallyOperable" summary="Supports the manual operation feature">
246172
<optionalConform/>
247173
</feature>
248-
<feature bit="9" code="FB" name="Fallback" summary="Supports the fallback feature">
249-
<optionalConform>
250-
<feature name="PS"/>
251-
</optionalConform>
252-
</feature>
253174
</features>
254175
</cluster>
255176
</configurator>

src/controller/data_model/controller-clusters.matter

+10-50
Original file line numberDiff line numberDiff line change
@@ -6527,7 +6527,6 @@ cluster ClosureControl = 260 {
65276527
kProtected = 5;
65286528
kDisengaged = 6;
65296529
kSetupRequired = 7;
6530-
kPendingFallback = 8;
65316530
}
65326531

65336532
enum PositioningEnum : enum8 {
@@ -6539,39 +6538,17 @@ cluster ClosureControl = 260 {
65396538
kOpenedAtSignature = 5;
65406539
}
65416540

6542-
enum RestingProcedureEnum : enum8 {
6543-
kDoNothing = 0;
6544-
kReturnToFullyOpened = 1;
6545-
kReturnToFullyClosed = 2;
6546-
}
6547-
6548-
enum TagLatchEnum : enum8 {
6541+
enum TargetLatchEnum : enum8 {
65496542
kLatch = 0;
65506543
kUnlatch = 1;
65516544
}
65526545

6553-
enum TagPositionEnum : enum8 {
6546+
enum TargetPositionEnum : enum8 {
65546547
kCloseInFull = 0;
65556548
kOpenInFull = 1;
65566549
kPedestrian = 2;
65576550
kVentilation = 3;
65586551
kSignature = 4;
6559-
kSequenceNextStep = 5;
6560-
kPedestrianNextStep = 6;
6561-
}
6562-
6563-
enum TriggerConditionEnum : enum8 {
6564-
kAfterDelay = 0;
6565-
kAfterApplicativeTrigger = 1;
6566-
kAfterDelayOrApplicativeTrigger = 2;
6567-
}
6568-
6569-
enum TriggerPositionEnum : enum8 {
6570-
kAtFullyClosed = 0;
6571-
kAtFullyOpened = 1;
6572-
kInBetween = 2;
6573-
kAtVentilation = 3;
6574-
kAtPedestrian = 4;
65756552
}
65766553

65776554
bitmap Feature : bitmap32 {
@@ -6584,19 +6561,18 @@ cluster ClosureControl = 260 {
65846561
kCalibration = 0x40;
65856562
kProtection = 0x80;
65866563
kManuallyOperable = 0x100;
6587-
kFallback = 0x200;
65886564
}
65896565

65906566
struct OverallStateStruct {
6591-
optional PositioningEnum positioning = 0;
6592-
optional LatchingEnum latching = 1;
6593-
optional ThreeLevelAutoEnum speed = 2;
6594-
optional bitmap32 extraInfo = 3;
6567+
optional nullable PositioningEnum positioning = 0;
6568+
optional nullable LatchingEnum latching = 1;
6569+
optional nullable ThreeLevelAutoEnum speed = 2;
6570+
optional nullable bitmap32 extraInfo = 3;
65956571
}
65966572

65976573
struct OverallTargetStruct {
6598-
optional TagPositionEnum tagPosition = 0;
6599-
optional TagLatchEnum tagLatch = 1;
6574+
optional TargetPositionEnum position = 0;
6575+
optional TargetLatchEnum latch = 1;
66006576
optional ThreeLevelAutoEnum speed = 2;
66016577
}
66026578

@@ -6605,11 +6581,6 @@ cluster ClosureControl = 260 {
66056581
readonly attribute ClosureErrorEnum currentErrorList[] = 2;
66066582
readonly attribute nullable OverallStateStruct overallState = 3;
66076583
readonly attribute nullable OverallTargetStruct overallTarget = 4;
6608-
readonly attribute optional RestingProcedureEnum restingProcedure = 5;
6609-
readonly attribute optional TriggerConditionEnum triggerCondition = 6;
6610-
readonly attribute optional TriggerPositionEnum triggerPosition = 7;
6611-
readonly attribute optional elapsed_s waitingDelay = 8;
6612-
readonly attribute optional elapsed_s kickoffTimer = 9;
66136584
readonly attribute command_id generatedCommandList[] = 65528;
66146585
readonly attribute command_id acceptedCommandList[] = 65529;
66156586
readonly attribute event_id eventList[] = 65530;
@@ -6618,28 +6589,17 @@ cluster ClosureControl = 260 {
66186589
readonly attribute int16u clusterRevision = 65533;
66196590

66206591
request struct MoveToRequest {
6621-
optional TagPositionEnum tag = 0;
6622-
optional TagLatchEnum latch = 1;
6592+
optional TargetPositionEnum position = 0;
6593+
optional TargetLatchEnum latch = 1;
66236594
optional ThreeLevelAutoEnum speed = 2;
66246595
}
66256596

6626-
request struct ConfigureFallbackRequest {
6627-
optional RestingProcedureEnum restingProcedure = 0;
6628-
optional TriggerConditionEnum triggerCondition = 1;
6629-
optional TriggerPositionEnum triggerPosition = 2;
6630-
optional elapsed_s waitingDelay = 3;
6631-
}
6632-
66336597
/** On receipt of this command, the device SHALL stop its operation if it is at a position where it is safe to do so and/or permitted. */
66346598
command Stop(): DefaultSuccess = 0;
66356599
/** Upon receipt, this SHALL move the product in the most fitting state following the data as follows: */
66366600
command MoveTo(MoveToRequest): DefaultSuccess = 1;
66376601
/** Upon receipt, this SHALL initiate a calibration. */
66386602
command access(invoke: manage) Calibrate(): DefaultSuccess = 2;
6639-
/** Upon receipt, this SHALL configure the Fallback feature behavior using the data as follows: */
6640-
command ConfigureFallback(ConfigureFallbackRequest): DefaultSuccess = 3;
6641-
/** Upon receipt, this SHALL cancel the current PendingFallback. */
6642-
command CancelFallback(): DefaultSuccess = 4;
66436603
}
66446604

66456605
/** The Service Area cluster provides an interface for controlling the areas where a device should operate, and for querying the current area being serviced. */

0 commit comments

Comments
 (0)