Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / app / chip-zcl-zpro-codec-api.h
1 /*
2  *
3  *    Copyright (c) 2021 Project CHIP Authors
4  *
5  *    Licensed under the Apache License, Version 2.0 (the "License");
6  *    you may not use this file except in compliance with the License.
7  *    You may obtain a copy of the License at
8  *
9  *        http://www.apache.org/licenses/LICENSE-2.0
10  *
11  *    Unless required by applicable law or agreed to in writing, software
12  *    distributed under the License is distributed on an "AS IS" BASIS,
13  *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  *    See the License for the specific language governing permissions and
15  *    limitations under the License.
16  */
17
18 // THIS FILE IS GENERATED BY ZAP
19
20 // Prevent multiple inclusion
21 #pragma once
22
23 #include <app/util/basic-types.h>
24 #include <lib/support/Span.h>
25 #include <stdint.h>
26 #include <system/SystemPacketBuffer.h>
27
28 /*----------------------------------------------------------------------------*\
29 | Cluster Name                                                        |   ID   |
30 |---------------------------------------------------------------------+--------|
31 | ApplicationBasic                                                    | 0x050D |
32 | BarrierControl                                                      | 0x0103 |
33 | Basic                                                               | 0x0028 |
34 | Binding                                                             | 0xF000 |
35 | ColorControl                                                        | 0x0300 |
36 | DoorLock                                                            | 0x0101 |
37 | GeneralCommissioning                                                | 0x0030 |
38 | GroupKeyManagement                                                  | 0xF004 |
39 | Groups                                                              | 0x0004 |
40 | IasZone                                                             | 0x0500 |
41 | Identify                                                            | 0x0003 |
42 | LevelControl                                                        | 0x0008 |
43 | LowPower                                                            | 0x0508 |
44 | NetworkCommissioning                                                | 0x0031 |
45 | OnOff                                                               | 0x0006 |
46 | Scenes                                                              | 0x0005 |
47 | TemperatureMeasurement                                              | 0x0402 |
48 \*----------------------------------------------------------------------------*/
49
50 /*----------------------------------------------------------------------------*\
51 | Cluster ApplicationBasic                                            | 0x050D |
52 |------------------------------------------------------------------------------|
53 | Commands:                                                           |        |
54 |------------------------------------------------------------------------------|
55 | Attributes:                                                         |        |
56 | * VendorName                                                        | 0x0000 |
57 | * VendorId                                                          | 0x0001 |
58 | * ApplicationName                                                   | 0x0002 |
59 | * ProductId                                                         | 0x0003 |
60 | * ApplicationId                                                     | 0x0005 |
61 | * CatalogVendorId                                                   | 0x0006 |
62 | * ApplicationSatus                                                  | 0x0007 |
63 | * ClusterRevision                                                   | 0xFFFD |
64 \*----------------------------------------------------------------------------*/
65
66 /**
67  * @brief
68  *    Encode a Application Basic server discover command into buffer including the APS frame
69  */
70 chip::System::PacketBufferHandle encodeApplicationBasicClusterDiscoverAttributes(uint8_t seqNum,
71                                                                                  chip::EndpointId destinationEndpoint);
72
73 /**
74  * @brief
75  *    Encode a Application Basic server read command for the vendor name attribute into buffer including the APS frame
76  */
77 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadVendorNameAttribute(uint8_t seqNum,
78                                                                                       chip::EndpointId destinationEndpoint);
79
80 /**
81  * @brief
82  *    Encode a Application Basic server read command for the vendor id attribute into buffer including the APS frame
83  */
84 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadVendorIdAttribute(uint8_t seqNum,
85                                                                                     chip::EndpointId destinationEndpoint);
86
87 /**
88  * @brief
89  *    Encode a Application Basic server read command for the application name attribute into buffer including the APS frame
90  */
91 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadApplicationNameAttribute(uint8_t seqNum,
92                                                                                            chip::EndpointId destinationEndpoint);
93
94 /**
95  * @brief
96  *    Encode a Application Basic server read command for the product id attribute into buffer including the APS frame
97  */
98 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadProductIdAttribute(uint8_t seqNum,
99                                                                                      chip::EndpointId destinationEndpoint);
100
101 /**
102  * @brief
103  *    Encode a Application Basic server read command for the application id attribute into buffer including the APS frame
104  */
105 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadApplicationIdAttribute(uint8_t seqNum,
106                                                                                          chip::EndpointId destinationEndpoint);
107
108 /**
109  * @brief
110  *    Encode a Application Basic server read command for the catalog vendor id attribute into buffer including the APS frame
111  */
112 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadCatalogVendorIdAttribute(uint8_t seqNum,
113                                                                                            chip::EndpointId destinationEndpoint);
114
115 /**
116  * @brief
117  *    Encode a Application Basic server read command for the application satus attribute into buffer including the APS frame
118  */
119 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadApplicationSatusAttribute(uint8_t seqNum,
120                                                                                             chip::EndpointId destinationEndpoint);
121
122 /**
123  * @brief
124  *    Encode a Application Basic server read command for the cluster revision attribute into buffer including the APS frame
125  */
126 chip::System::PacketBufferHandle encodeApplicationBasicClusterReadClusterRevisionAttribute(uint8_t seqNum,
127                                                                                            chip::EndpointId destinationEndpoint);
128
129 /*----------------------------------------------------------------------------*\
130 | Cluster BarrierControl                                              | 0x0103 |
131 |------------------------------------------------------------------------------|
132 | Commands:                                                           |        |
133 | * BarrierControlGoToPercent                                         |   0x00 |
134 | * BarrierControlStop                                                |   0x01 |
135 |------------------------------------------------------------------------------|
136 | Attributes:                                                         |        |
137 | * BarrierMovingState                                                | 0x0001 |
138 | * BarrierSafetyStatus                                               | 0x0002 |
139 | * BarrierCapabilities                                               | 0x0003 |
140 | * BarrierPosition                                                   | 0x000A |
141 | * ClusterRevision                                                   | 0xFFFD |
142 \*----------------------------------------------------------------------------*/
143
144 /**
145  * @brief
146  *    Encode an BarrierControlGoToPercent command for Barrier Control server into buffer including the APS frame
147  */
148 chip::System::PacketBufferHandle encodeBarrierControlClusterBarrierControlGoToPercentCommand(uint8_t seqNum,
149                                                                                              chip::EndpointId destinationEndpoint,
150                                                                                              uint8_t percentOpen);
151
152 /**
153  * @brief
154  *    Encode an BarrierControlStop command for Barrier Control server into buffer including the APS frame
155  */
156 chip::System::PacketBufferHandle encodeBarrierControlClusterBarrierControlStopCommand(uint8_t seqNum,
157                                                                                       chip::EndpointId destinationEndpoint);
158
159 /**
160  * @brief
161  *    Encode a Barrier Control server discover command into buffer including the APS frame
162  */
163 chip::System::PacketBufferHandle encodeBarrierControlClusterDiscoverAttributes(uint8_t seqNum,
164                                                                                chip::EndpointId destinationEndpoint);
165
166 /**
167  * @brief
168  *    Encode a Barrier Control server read command for the barrier moving state attribute into buffer including the APS frame
169  */
170 chip::System::PacketBufferHandle encodeBarrierControlClusterReadBarrierMovingStateAttribute(uint8_t seqNum,
171                                                                                             chip::EndpointId destinationEndpoint);
172
173 /**
174  * @brief
175  *    Encode a Barrier Control server read command for the barrier safety status attribute into buffer including the APS frame
176  */
177 chip::System::PacketBufferHandle encodeBarrierControlClusterReadBarrierSafetyStatusAttribute(uint8_t seqNum,
178                                                                                              chip::EndpointId destinationEndpoint);
179
180 /**
181  * @brief
182  *    Encode a Barrier Control server read command for the barrier capabilities attribute into buffer including the APS frame
183  */
184 chip::System::PacketBufferHandle encodeBarrierControlClusterReadBarrierCapabilitiesAttribute(uint8_t seqNum,
185                                                                                              chip::EndpointId destinationEndpoint);
186
187 /**
188  * @brief
189  *    Encode a Barrier Control server read command for the barrier position attribute into buffer including the APS frame
190  */
191 chip::System::PacketBufferHandle encodeBarrierControlClusterReadBarrierPositionAttribute(uint8_t seqNum,
192                                                                                          chip::EndpointId destinationEndpoint);
193
194 /**
195  * @brief
196  *    Encode a Barrier Control server read command for the cluster revision attribute into buffer including the APS frame
197  */
198 chip::System::PacketBufferHandle encodeBarrierControlClusterReadClusterRevisionAttribute(uint8_t seqNum,
199                                                                                          chip::EndpointId destinationEndpoint);
200
201 /*----------------------------------------------------------------------------*\
202 | Cluster Basic                                                       | 0x0028 |
203 |------------------------------------------------------------------------------|
204 | Commands:                                                           |        |
205 | * MfgSpecificPing                                                   |   0x00 |
206 |------------------------------------------------------------------------------|
207 | Attributes:                                                         |        |
208 | * InteractionModelVersion                                           | 0x0000 |
209 | * VendorName                                                        | 0x0001 |
210 | * VendorID                                                          | 0x0002 |
211 | * ProductName                                                       | 0x0003 |
212 | * ProductID                                                         | 0x0004 |
213 | * UserLabel                                                         | 0x0005 |
214 | * Location                                                          | 0x0006 |
215 | * HardwareVersion                                                   | 0x0007 |
216 | * HardwareVersionString                                             | 0x0008 |
217 | * SoftwareVersion                                                   | 0x0009 |
218 | * SoftwareVersionString                                             | 0x000A |
219 | * ClusterRevision                                                   | 0xFFFD |
220 \*----------------------------------------------------------------------------*/
221
222 /**
223  * @brief
224  *    Encode an MfgSpecificPing command for Basic server into buffer including the APS frame
225  */
226 chip::System::PacketBufferHandle encodeBasicClusterMfgSpecificPingCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
227
228 /**
229  * @brief
230  *    Encode a Basic server discover command into buffer including the APS frame
231  */
232 chip::System::PacketBufferHandle encodeBasicClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
233
234 /**
235  * @brief
236  *    Encode a Basic server read command for the InteractionModelVersion attribute into buffer including the APS frame
237  */
238 chip::System::PacketBufferHandle encodeBasicClusterReadInteractionModelVersionAttribute(uint8_t seqNum,
239                                                                                         chip::EndpointId destinationEndpoint);
240
241 /**
242  * @brief
243  *    Encode a Basic server read command for the VendorName attribute into buffer including the APS frame
244  */
245 chip::System::PacketBufferHandle encodeBasicClusterReadVendorNameAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
246
247 /**
248  * @brief
249  *    Encode a Basic server read command for the VendorID attribute into buffer including the APS frame
250  */
251 chip::System::PacketBufferHandle encodeBasicClusterReadVendorIDAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
252
253 /**
254  * @brief
255  *    Encode a Basic server read command for the ProductName attribute into buffer including the APS frame
256  */
257 chip::System::PacketBufferHandle encodeBasicClusterReadProductNameAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
258
259 /**
260  * @brief
261  *    Encode a Basic server read command for the ProductID attribute into buffer including the APS frame
262  */
263 chip::System::PacketBufferHandle encodeBasicClusterReadProductIDAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
264
265 /**
266  * @brief
267  *    Encode a Basic server read command for the UserLabel attribute into buffer including the APS frame
268  */
269 chip::System::PacketBufferHandle encodeBasicClusterReadUserLabelAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
270
271 /**
272  * @brief
273  *    Encode a Basic server write command for the UserLabel attribute into buffer including the APS frame
274  */
275 chip::System::PacketBufferHandle encodeBasicClusterWriteUserLabelAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
276                                                                            chip::ByteSpan userLabel);
277
278 /**
279  * @brief
280  *    Encode a Basic server read command for the Location attribute into buffer including the APS frame
281  */
282 chip::System::PacketBufferHandle encodeBasicClusterReadLocationAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
283
284 /**
285  * @brief
286  *    Encode a Basic server write command for the Location attribute into buffer including the APS frame
287  */
288 chip::System::PacketBufferHandle encodeBasicClusterWriteLocationAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
289                                                                           chip::ByteSpan location);
290
291 /**
292  * @brief
293  *    Encode a Basic server read command for the HardwareVersion attribute into buffer including the APS frame
294  */
295 chip::System::PacketBufferHandle encodeBasicClusterReadHardwareVersionAttribute(uint8_t seqNum,
296                                                                                 chip::EndpointId destinationEndpoint);
297
298 /**
299  * @brief
300  *    Encode a Basic server read command for the HardwareVersionString attribute into buffer including the APS frame
301  */
302 chip::System::PacketBufferHandle encodeBasicClusterReadHardwareVersionStringAttribute(uint8_t seqNum,
303                                                                                       chip::EndpointId destinationEndpoint);
304
305 /**
306  * @brief
307  *    Encode a Basic server read command for the SoftwareVersion attribute into buffer including the APS frame
308  */
309 chip::System::PacketBufferHandle encodeBasicClusterReadSoftwareVersionAttribute(uint8_t seqNum,
310                                                                                 chip::EndpointId destinationEndpoint);
311
312 /**
313  * @brief
314  *    Encode a Basic server read command for the SoftwareVersionString attribute into buffer including the APS frame
315  */
316 chip::System::PacketBufferHandle encodeBasicClusterReadSoftwareVersionStringAttribute(uint8_t seqNum,
317                                                                                       chip::EndpointId destinationEndpoint);
318
319 /**
320  * @brief
321  *    Encode a Basic server read command for the cluster revision attribute into buffer including the APS frame
322  */
323 chip::System::PacketBufferHandle encodeBasicClusterReadClusterRevisionAttribute(uint8_t seqNum,
324                                                                                 chip::EndpointId destinationEndpoint);
325
326 /*----------------------------------------------------------------------------*\
327 | Cluster Binding                                                     | 0xF000 |
328 |------------------------------------------------------------------------------|
329 | Commands:                                                           |        |
330 | * Bind                                                              |   0x00 |
331 | * Unbind                                                            |   0x01 |
332 |------------------------------------------------------------------------------|
333 | Attributes:                                                         |        |
334 | * ClusterRevision                                                   | 0xFFFD |
335 \*----------------------------------------------------------------------------*/
336
337 /**
338  * @brief
339  *    Encode an Bind command for Binding server into buffer including the APS frame
340  */
341 chip::System::PacketBufferHandle encodeBindingClusterBindCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
342                                                                  chip::NodeId nodeId, chip::GroupId groupId,
343                                                                  chip::EndpointId endpointId, chip::ClusterId clusterId);
344
345 /**
346  * @brief
347  *    Encode an Unbind command for Binding server into buffer including the APS frame
348  */
349 chip::System::PacketBufferHandle encodeBindingClusterUnbindCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
350                                                                    chip::NodeId nodeId, chip::GroupId groupId,
351                                                                    chip::EndpointId endpointId, chip::ClusterId clusterId);
352
353 /**
354  * @brief
355  *    Encode a Binding server discover command into buffer including the APS frame
356  */
357 chip::System::PacketBufferHandle encodeBindingClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
358
359 /**
360  * @brief
361  *    Encode a Binding server read command for the cluster revision attribute into buffer including the APS frame
362  */
363 chip::System::PacketBufferHandle encodeBindingClusterReadClusterRevisionAttribute(uint8_t seqNum,
364                                                                                   chip::EndpointId destinationEndpoint);
365
366 /*----------------------------------------------------------------------------*\
367 | Cluster ColorControl                                                | 0x0300 |
368 |------------------------------------------------------------------------------|
369 | Commands:                                                           |        |
370 | * MoveColor                                                         |   0x08 |
371 | * MoveColorTemperature                                              |   0x4B |
372 | * MoveHue                                                           |   0x01 |
373 | * MoveSaturation                                                    |   0x04 |
374 | * MoveToColor                                                       |   0x07 |
375 | * MoveToColorTemperature                                            |   0x0A |
376 | * MoveToHue                                                         |   0x00 |
377 | * MoveToHueAndSaturation                                            |   0x06 |
378 | * MoveToSaturation                                                  |   0x03 |
379 | * StepColor                                                         |   0x09 |
380 | * StepColorTemperature                                              |   0x4C |
381 | * StepHue                                                           |   0x02 |
382 | * StepSaturation                                                    |   0x05 |
383 | * StopMoveStep                                                      |   0x47 |
384 |------------------------------------------------------------------------------|
385 | Attributes:                                                         |        |
386 | * CurrentHue                                                        | 0x0000 |
387 | * CurrentSaturation                                                 | 0x0001 |
388 | * RemainingTime                                                     | 0x0002 |
389 | * CurrentX                                                          | 0x0003 |
390 | * CurrentY                                                          | 0x0004 |
391 | * DriftCompensation                                                 | 0x0005 |
392 | * CompensationText                                                  | 0x0006 |
393 | * ColorTemperature                                                  | 0x0007 |
394 | * ColorMode                                                         | 0x0008 |
395 | * ColorControlOptions                                               | 0x000F |
396 | * NumberOfPrimaries                                                 | 0x0010 |
397 | * Primary1X                                                         | 0x0011 |
398 | * Primary1Y                                                         | 0x0012 |
399 | * Primary1Intensity                                                 | 0x0013 |
400 | * Primary2X                                                         | 0x0015 |
401 | * Primary2Y                                                         | 0x0016 |
402 | * Primary2Intensity                                                 | 0x0017 |
403 | * Primary3X                                                         | 0x0019 |
404 | * Primary3Y                                                         | 0x001A |
405 | * Primary3Intensity                                                 | 0x001B |
406 | * Primary4X                                                         | 0x0020 |
407 | * Primary4Y                                                         | 0x0021 |
408 | * Primary4Intensity                                                 | 0x0022 |
409 | * Primary5X                                                         | 0x0024 |
410 | * Primary5Y                                                         | 0x0025 |
411 | * Primary5Intensity                                                 | 0x0026 |
412 | * Primary6X                                                         | 0x0028 |
413 | * Primary6Y                                                         | 0x0029 |
414 | * Primary6Intensity                                                 | 0x002A |
415 | * WhitePointX                                                       | 0x0030 |
416 | * WhitePointY                                                       | 0x0031 |
417 | * ColorPointRX                                                      | 0x0032 |
418 | * ColorPointRY                                                      | 0x0033 |
419 | * ColorPointRIntensity                                              | 0x0034 |
420 | * ColorPointGX                                                      | 0x0036 |
421 | * ColorPointGY                                                      | 0x0037 |
422 | * ColorPointGIntensity                                              | 0x0038 |
423 | * ColorPointBX                                                      | 0x003A |
424 | * ColorPointBY                                                      | 0x003B |
425 | * ColorPointBIntensity                                              | 0x003C |
426 | * EnhancedCurrentHue                                                | 0x4000 |
427 | * EnhancedColorMode                                                 | 0x4001 |
428 | * ColorLoopActive                                                   | 0x4002 |
429 | * ColorLoopDirection                                                | 0x4003 |
430 | * ColorLoopTime                                                     | 0x4004 |
431 | * ColorCapabilities                                                 | 0x400A |
432 | * ColorTempPhysicalMin                                              | 0x400B |
433 | * ColorTempPhysicalMax                                              | 0x400C |
434 | * CoupleColorTempToLevelMinMireds                                   | 0x400D |
435 | * StartUpColorTemperatureMireds                                     | 0x4010 |
436 | * ClusterRevision                                                   | 0xFFFD |
437 \*----------------------------------------------------------------------------*/
438
439 /**
440  * @brief
441  *    Encode an MoveColor command for Color Control server into buffer including the APS frame
442  */
443 chip::System::PacketBufferHandle encodeColorControlClusterMoveColorCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
444                                                                            int16_t rateX, int16_t rateY, uint8_t optionsMask,
445                                                                            uint8_t optionsOverride);
446
447 /**
448  * @brief
449  *    Encode an MoveColorTemperature command for Color Control server into buffer including the APS frame
450  */
451 chip::System::PacketBufferHandle encodeColorControlClusterMoveColorTemperatureCommand(
452     uint8_t seqNum, chip::EndpointId destinationEndpoint, uint8_t moveMode, uint16_t rate, uint16_t colorTemperatureMinimum,
453     uint16_t colorTemperatureMaximum, uint8_t optionsMask, uint8_t optionsOverride);
454
455 /**
456  * @brief
457  *    Encode an MoveHue command for Color Control server into buffer including the APS frame
458  */
459 chip::System::PacketBufferHandle encodeColorControlClusterMoveHueCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
460                                                                          uint8_t moveMode, uint8_t rate, uint8_t optionsMask,
461                                                                          uint8_t optionsOverride);
462
463 /**
464  * @brief
465  *    Encode an MoveSaturation command for Color Control server into buffer including the APS frame
466  */
467 chip::System::PacketBufferHandle encodeColorControlClusterMoveSaturationCommand(uint8_t seqNum,
468                                                                                 chip::EndpointId destinationEndpoint,
469                                                                                 uint8_t moveMode, uint8_t rate, uint8_t optionsMask,
470                                                                                 uint8_t optionsOverride);
471
472 /**
473  * @brief
474  *    Encode an MoveToColor command for Color Control server into buffer including the APS frame
475  */
476 chip::System::PacketBufferHandle encodeColorControlClusterMoveToColorCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
477                                                                              uint16_t colorX, uint16_t colorY,
478                                                                              uint16_t transitionTime, uint8_t optionsMask,
479                                                                              uint8_t optionsOverride);
480
481 /**
482  * @brief
483  *    Encode an MoveToColorTemperature command for Color Control server into buffer including the APS frame
484  */
485 chip::System::PacketBufferHandle
486 encodeColorControlClusterMoveToColorTemperatureCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
487                                                        uint16_t colorTemperature, uint16_t transitionTime, uint8_t optionsMask,
488                                                        uint8_t optionsOverride);
489
490 /**
491  * @brief
492  *    Encode an MoveToHue command for Color Control server into buffer including the APS frame
493  */
494 chip::System::PacketBufferHandle encodeColorControlClusterMoveToHueCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
495                                                                            uint8_t hue, uint8_t direction, uint16_t transitionTime,
496                                                                            uint8_t optionsMask, uint8_t optionsOverride);
497
498 /**
499  * @brief
500  *    Encode an MoveToHueAndSaturation command for Color Control server into buffer including the APS frame
501  */
502 chip::System::PacketBufferHandle
503 encodeColorControlClusterMoveToHueAndSaturationCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint8_t hue,
504                                                        uint8_t saturation, uint16_t transitionTime, uint8_t optionsMask,
505                                                        uint8_t optionsOverride);
506
507 /**
508  * @brief
509  *    Encode an MoveToSaturation command for Color Control server into buffer including the APS frame
510  */
511 chip::System::PacketBufferHandle encodeColorControlClusterMoveToSaturationCommand(uint8_t seqNum,
512                                                                                   chip::EndpointId destinationEndpoint,
513                                                                                   uint8_t saturation, uint16_t transitionTime,
514                                                                                   uint8_t optionsMask, uint8_t optionsOverride);
515
516 /**
517  * @brief
518  *    Encode an StepColor command for Color Control server into buffer including the APS frame
519  */
520 chip::System::PacketBufferHandle encodeColorControlClusterStepColorCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
521                                                                            int16_t stepX, int16_t stepY, uint16_t transitionTime,
522                                                                            uint8_t optionsMask, uint8_t optionsOverride);
523
524 /**
525  * @brief
526  *    Encode an StepColorTemperature command for Color Control server into buffer including the APS frame
527  */
528 chip::System::PacketBufferHandle encodeColorControlClusterStepColorTemperatureCommand(
529     uint8_t seqNum, chip::EndpointId destinationEndpoint, uint8_t stepMode, uint16_t stepSize, uint16_t transitionTime,
530     uint16_t colorTemperatureMinimum, uint16_t colorTemperatureMaximum, uint8_t optionsMask, uint8_t optionsOverride);
531
532 /**
533  * @brief
534  *    Encode an StepHue command for Color Control server into buffer including the APS frame
535  */
536 chip::System::PacketBufferHandle encodeColorControlClusterStepHueCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
537                                                                          uint8_t stepMode, uint8_t stepSize, uint8_t transitionTime,
538                                                                          uint8_t optionsMask, uint8_t optionsOverride);
539
540 /**
541  * @brief
542  *    Encode an StepSaturation command for Color Control server into buffer including the APS frame
543  */
544 chip::System::PacketBufferHandle encodeColorControlClusterStepSaturationCommand(uint8_t seqNum,
545                                                                                 chip::EndpointId destinationEndpoint,
546                                                                                 uint8_t stepMode, uint8_t stepSize,
547                                                                                 uint8_t transitionTime, uint8_t optionsMask,
548                                                                                 uint8_t optionsOverride);
549
550 /**
551  * @brief
552  *    Encode an StopMoveStep command for Color Control server into buffer including the APS frame
553  */
554 chip::System::PacketBufferHandle encodeColorControlClusterStopMoveStepCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
555                                                                               uint8_t optionsMask, uint8_t optionsOverride);
556
557 /**
558  * @brief
559  *    Encode a Color Control server discover command into buffer including the APS frame
560  */
561 chip::System::PacketBufferHandle encodeColorControlClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
562
563 /**
564  * @brief
565  *    Encode a Color Control server read command for the current hue attribute into buffer including the APS frame
566  */
567 chip::System::PacketBufferHandle encodeColorControlClusterReadCurrentHueAttribute(uint8_t seqNum,
568                                                                                   chip::EndpointId destinationEndpoint);
569
570 /**
571  * @brief
572  *    Encode a Color Control server configure report command for the current hue attribute into buffer including the APS frame
573  */
574 chip::System::PacketBufferHandle encodeColorControlClusterConfigureCurrentHueAttribute(uint8_t seqNum,
575                                                                                        chip::EndpointId destinationEndpoint,
576                                                                                        uint16_t minInterval, uint16_t maxInterval,
577                                                                                        uint8_t change);
578
579 /**
580  * @brief
581  *    Encode a Color Control server read command for the current saturation attribute into buffer including the APS frame
582  */
583 chip::System::PacketBufferHandle encodeColorControlClusterReadCurrentSaturationAttribute(uint8_t seqNum,
584                                                                                          chip::EndpointId destinationEndpoint);
585
586 /**
587  * @brief
588  *    Encode a Color Control server configure report command for the current saturation attribute into buffer including the APS
589  * frame
590  */
591 chip::System::PacketBufferHandle encodeColorControlClusterConfigureCurrentSaturationAttribute(uint8_t seqNum,
592                                                                                               chip::EndpointId destinationEndpoint,
593                                                                                               uint16_t minInterval,
594                                                                                               uint16_t maxInterval, uint8_t change);
595
596 /**
597  * @brief
598  *    Encode a Color Control server read command for the remaining time attribute into buffer including the APS frame
599  */
600 chip::System::PacketBufferHandle encodeColorControlClusterReadRemainingTimeAttribute(uint8_t seqNum,
601                                                                                      chip::EndpointId destinationEndpoint);
602
603 /**
604  * @brief
605  *    Encode a Color Control server read command for the current x attribute into buffer including the APS frame
606  */
607 chip::System::PacketBufferHandle encodeColorControlClusterReadCurrentXAttribute(uint8_t seqNum,
608                                                                                 chip::EndpointId destinationEndpoint);
609
610 /**
611  * @brief
612  *    Encode a Color Control server configure report command for the current x attribute into buffer including the APS frame
613  */
614 chip::System::PacketBufferHandle encodeColorControlClusterConfigureCurrentXAttribute(uint8_t seqNum,
615                                                                                      chip::EndpointId destinationEndpoint,
616                                                                                      uint16_t minInterval, uint16_t maxInterval,
617                                                                                      uint16_t change);
618
619 /**
620  * @brief
621  *    Encode a Color Control server read command for the current y attribute into buffer including the APS frame
622  */
623 chip::System::PacketBufferHandle encodeColorControlClusterReadCurrentYAttribute(uint8_t seqNum,
624                                                                                 chip::EndpointId destinationEndpoint);
625
626 /**
627  * @brief
628  *    Encode a Color Control server configure report command for the current y attribute into buffer including the APS frame
629  */
630 chip::System::PacketBufferHandle encodeColorControlClusterConfigureCurrentYAttribute(uint8_t seqNum,
631                                                                                      chip::EndpointId destinationEndpoint,
632                                                                                      uint16_t minInterval, uint16_t maxInterval,
633                                                                                      uint16_t change);
634
635 /**
636  * @brief
637  *    Encode a Color Control server read command for the drift compensation attribute into buffer including the APS frame
638  */
639 chip::System::PacketBufferHandle encodeColorControlClusterReadDriftCompensationAttribute(uint8_t seqNum,
640                                                                                          chip::EndpointId destinationEndpoint);
641
642 /**
643  * @brief
644  *    Encode a Color Control server read command for the compensation text attribute into buffer including the APS frame
645  */
646 chip::System::PacketBufferHandle encodeColorControlClusterReadCompensationTextAttribute(uint8_t seqNum,
647                                                                                         chip::EndpointId destinationEndpoint);
648
649 /**
650  * @brief
651  *    Encode a Color Control server read command for the color temperature attribute into buffer including the APS frame
652  */
653 chip::System::PacketBufferHandle encodeColorControlClusterReadColorTemperatureAttribute(uint8_t seqNum,
654                                                                                         chip::EndpointId destinationEndpoint);
655
656 /**
657  * @brief
658  *    Encode a Color Control server configure report command for the color temperature attribute into buffer including the APS frame
659  */
660 chip::System::PacketBufferHandle encodeColorControlClusterConfigureColorTemperatureAttribute(uint8_t seqNum,
661                                                                                              chip::EndpointId destinationEndpoint,
662                                                                                              uint16_t minInterval,
663                                                                                              uint16_t maxInterval, uint16_t change);
664
665 /**
666  * @brief
667  *    Encode a Color Control server read command for the color mode attribute into buffer including the APS frame
668  */
669 chip::System::PacketBufferHandle encodeColorControlClusterReadColorModeAttribute(uint8_t seqNum,
670                                                                                  chip::EndpointId destinationEndpoint);
671
672 /**
673  * @brief
674  *    Encode a Color Control server read command for the color control options attribute into buffer including the APS frame
675  */
676 chip::System::PacketBufferHandle encodeColorControlClusterReadColorControlOptionsAttribute(uint8_t seqNum,
677                                                                                            chip::EndpointId destinationEndpoint);
678
679 /**
680  * @brief
681  *    Encode a Color Control server write command for the color control options attribute into buffer including the APS frame
682  */
683 chip::System::PacketBufferHandle encodeColorControlClusterWriteColorControlOptionsAttribute(uint8_t seqNum,
684                                                                                             chip::EndpointId destinationEndpoint,
685                                                                                             uint8_t colorControlOptions);
686
687 /**
688  * @brief
689  *    Encode a Color Control server read command for the number of primaries attribute into buffer including the APS frame
690  */
691 chip::System::PacketBufferHandle encodeColorControlClusterReadNumberOfPrimariesAttribute(uint8_t seqNum,
692                                                                                          chip::EndpointId destinationEndpoint);
693
694 /**
695  * @brief
696  *    Encode a Color Control server read command for the primary 1 x attribute into buffer including the APS frame
697  */
698 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary1XAttribute(uint8_t seqNum,
699                                                                                  chip::EndpointId destinationEndpoint);
700
701 /**
702  * @brief
703  *    Encode a Color Control server read command for the primary 1 y attribute into buffer including the APS frame
704  */
705 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary1YAttribute(uint8_t seqNum,
706                                                                                  chip::EndpointId destinationEndpoint);
707
708 /**
709  * @brief
710  *    Encode a Color Control server read command for the primary 1 intensity attribute into buffer including the APS frame
711  */
712 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary1IntensityAttribute(uint8_t seqNum,
713                                                                                          chip::EndpointId destinationEndpoint);
714
715 /**
716  * @brief
717  *    Encode a Color Control server read command for the primary 2 x attribute into buffer including the APS frame
718  */
719 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary2XAttribute(uint8_t seqNum,
720                                                                                  chip::EndpointId destinationEndpoint);
721
722 /**
723  * @brief
724  *    Encode a Color Control server read command for the primary 2 y attribute into buffer including the APS frame
725  */
726 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary2YAttribute(uint8_t seqNum,
727                                                                                  chip::EndpointId destinationEndpoint);
728
729 /**
730  * @brief
731  *    Encode a Color Control server read command for the primary 2 intensity attribute into buffer including the APS frame
732  */
733 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary2IntensityAttribute(uint8_t seqNum,
734                                                                                          chip::EndpointId destinationEndpoint);
735
736 /**
737  * @brief
738  *    Encode a Color Control server read command for the primary 3 x attribute into buffer including the APS frame
739  */
740 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary3XAttribute(uint8_t seqNum,
741                                                                                  chip::EndpointId destinationEndpoint);
742
743 /**
744  * @brief
745  *    Encode a Color Control server read command for the primary 3 y attribute into buffer including the APS frame
746  */
747 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary3YAttribute(uint8_t seqNum,
748                                                                                  chip::EndpointId destinationEndpoint);
749
750 /**
751  * @brief
752  *    Encode a Color Control server read command for the primary 3 intensity attribute into buffer including the APS frame
753  */
754 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary3IntensityAttribute(uint8_t seqNum,
755                                                                                          chip::EndpointId destinationEndpoint);
756
757 /**
758  * @brief
759  *    Encode a Color Control server read command for the primary 4 x attribute into buffer including the APS frame
760  */
761 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary4XAttribute(uint8_t seqNum,
762                                                                                  chip::EndpointId destinationEndpoint);
763
764 /**
765  * @brief
766  *    Encode a Color Control server read command for the primary 4 y attribute into buffer including the APS frame
767  */
768 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary4YAttribute(uint8_t seqNum,
769                                                                                  chip::EndpointId destinationEndpoint);
770
771 /**
772  * @brief
773  *    Encode a Color Control server read command for the primary 4 intensity attribute into buffer including the APS frame
774  */
775 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary4IntensityAttribute(uint8_t seqNum,
776                                                                                          chip::EndpointId destinationEndpoint);
777
778 /**
779  * @brief
780  *    Encode a Color Control server read command for the primary 5 x attribute into buffer including the APS frame
781  */
782 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary5XAttribute(uint8_t seqNum,
783                                                                                  chip::EndpointId destinationEndpoint);
784
785 /**
786  * @brief
787  *    Encode a Color Control server read command for the primary 5 y attribute into buffer including the APS frame
788  */
789 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary5YAttribute(uint8_t seqNum,
790                                                                                  chip::EndpointId destinationEndpoint);
791
792 /**
793  * @brief
794  *    Encode a Color Control server read command for the primary 5 intensity attribute into buffer including the APS frame
795  */
796 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary5IntensityAttribute(uint8_t seqNum,
797                                                                                          chip::EndpointId destinationEndpoint);
798
799 /**
800  * @brief
801  *    Encode a Color Control server read command for the primary 6 x attribute into buffer including the APS frame
802  */
803 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary6XAttribute(uint8_t seqNum,
804                                                                                  chip::EndpointId destinationEndpoint);
805
806 /**
807  * @brief
808  *    Encode a Color Control server read command for the primary 6 y attribute into buffer including the APS frame
809  */
810 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary6YAttribute(uint8_t seqNum,
811                                                                                  chip::EndpointId destinationEndpoint);
812
813 /**
814  * @brief
815  *    Encode a Color Control server read command for the primary 6 intensity attribute into buffer including the APS frame
816  */
817 chip::System::PacketBufferHandle encodeColorControlClusterReadPrimary6IntensityAttribute(uint8_t seqNum,
818                                                                                          chip::EndpointId destinationEndpoint);
819
820 /**
821  * @brief
822  *    Encode a Color Control server read command for the white point x attribute into buffer including the APS frame
823  */
824 chip::System::PacketBufferHandle encodeColorControlClusterReadWhitePointXAttribute(uint8_t seqNum,
825                                                                                    chip::EndpointId destinationEndpoint);
826
827 /**
828  * @brief
829  *    Encode a Color Control server write command for the white point x attribute into buffer including the APS frame
830  */
831 chip::System::PacketBufferHandle
832 encodeColorControlClusterWriteWhitePointXAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t whitePointX);
833
834 /**
835  * @brief
836  *    Encode a Color Control server read command for the white point y attribute into buffer including the APS frame
837  */
838 chip::System::PacketBufferHandle encodeColorControlClusterReadWhitePointYAttribute(uint8_t seqNum,
839                                                                                    chip::EndpointId destinationEndpoint);
840
841 /**
842  * @brief
843  *    Encode a Color Control server write command for the white point y attribute into buffer including the APS frame
844  */
845 chip::System::PacketBufferHandle
846 encodeColorControlClusterWriteWhitePointYAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t whitePointY);
847
848 /**
849  * @brief
850  *    Encode a Color Control server read command for the color point r x attribute into buffer including the APS frame
851  */
852 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointRXAttribute(uint8_t seqNum,
853                                                                                     chip::EndpointId destinationEndpoint);
854
855 /**
856  * @brief
857  *    Encode a Color Control server write command for the color point r x attribute into buffer including the APS frame
858  */
859 chip::System::PacketBufferHandle
860 encodeColorControlClusterWriteColorPointRXAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t colorPointRX);
861
862 /**
863  * @brief
864  *    Encode a Color Control server read command for the color point r y attribute into buffer including the APS frame
865  */
866 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointRYAttribute(uint8_t seqNum,
867                                                                                     chip::EndpointId destinationEndpoint);
868
869 /**
870  * @brief
871  *    Encode a Color Control server write command for the color point r y attribute into buffer including the APS frame
872  */
873 chip::System::PacketBufferHandle
874 encodeColorControlClusterWriteColorPointRYAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t colorPointRY);
875
876 /**
877  * @brief
878  *    Encode a Color Control server read command for the color point r intensity attribute into buffer including the APS frame
879  */
880 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointRIntensityAttribute(uint8_t seqNum,
881                                                                                             chip::EndpointId destinationEndpoint);
882
883 /**
884  * @brief
885  *    Encode a Color Control server write command for the color point r intensity attribute into buffer including the APS frame
886  */
887 chip::System::PacketBufferHandle encodeColorControlClusterWriteColorPointRIntensityAttribute(uint8_t seqNum,
888                                                                                              chip::EndpointId destinationEndpoint,
889                                                                                              uint8_t colorPointRIntensity);
890
891 /**
892  * @brief
893  *    Encode a Color Control server read command for the color point g x attribute into buffer including the APS frame
894  */
895 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointGXAttribute(uint8_t seqNum,
896                                                                                     chip::EndpointId destinationEndpoint);
897
898 /**
899  * @brief
900  *    Encode a Color Control server write command for the color point g x attribute into buffer including the APS frame
901  */
902 chip::System::PacketBufferHandle
903 encodeColorControlClusterWriteColorPointGXAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t colorPointGX);
904
905 /**
906  * @brief
907  *    Encode a Color Control server read command for the color point g y attribute into buffer including the APS frame
908  */
909 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointGYAttribute(uint8_t seqNum,
910                                                                                     chip::EndpointId destinationEndpoint);
911
912 /**
913  * @brief
914  *    Encode a Color Control server write command for the color point g y attribute into buffer including the APS frame
915  */
916 chip::System::PacketBufferHandle
917 encodeColorControlClusterWriteColorPointGYAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t colorPointGY);
918
919 /**
920  * @brief
921  *    Encode a Color Control server read command for the color point g intensity attribute into buffer including the APS frame
922  */
923 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointGIntensityAttribute(uint8_t seqNum,
924                                                                                             chip::EndpointId destinationEndpoint);
925
926 /**
927  * @brief
928  *    Encode a Color Control server write command for the color point g intensity attribute into buffer including the APS frame
929  */
930 chip::System::PacketBufferHandle encodeColorControlClusterWriteColorPointGIntensityAttribute(uint8_t seqNum,
931                                                                                              chip::EndpointId destinationEndpoint,
932                                                                                              uint8_t colorPointGIntensity);
933
934 /**
935  * @brief
936  *    Encode a Color Control server read command for the color point b x attribute into buffer including the APS frame
937  */
938 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointBXAttribute(uint8_t seqNum,
939                                                                                     chip::EndpointId destinationEndpoint);
940
941 /**
942  * @brief
943  *    Encode a Color Control server write command for the color point b x attribute into buffer including the APS frame
944  */
945 chip::System::PacketBufferHandle
946 encodeColorControlClusterWriteColorPointBXAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t colorPointBX);
947
948 /**
949  * @brief
950  *    Encode a Color Control server read command for the color point b y attribute into buffer including the APS frame
951  */
952 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointBYAttribute(uint8_t seqNum,
953                                                                                     chip::EndpointId destinationEndpoint);
954
955 /**
956  * @brief
957  *    Encode a Color Control server write command for the color point b y attribute into buffer including the APS frame
958  */
959 chip::System::PacketBufferHandle
960 encodeColorControlClusterWriteColorPointBYAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t colorPointBY);
961
962 /**
963  * @brief
964  *    Encode a Color Control server read command for the color point b intensity attribute into buffer including the APS frame
965  */
966 chip::System::PacketBufferHandle encodeColorControlClusterReadColorPointBIntensityAttribute(uint8_t seqNum,
967                                                                                             chip::EndpointId destinationEndpoint);
968
969 /**
970  * @brief
971  *    Encode a Color Control server write command for the color point b intensity attribute into buffer including the APS frame
972  */
973 chip::System::PacketBufferHandle encodeColorControlClusterWriteColorPointBIntensityAttribute(uint8_t seqNum,
974                                                                                              chip::EndpointId destinationEndpoint,
975                                                                                              uint8_t colorPointBIntensity);
976
977 /**
978  * @brief
979  *    Encode a Color Control server read command for the enhanced current hue attribute into buffer including the APS frame
980  */
981 chip::System::PacketBufferHandle encodeColorControlClusterReadEnhancedCurrentHueAttribute(uint8_t seqNum,
982                                                                                           chip::EndpointId destinationEndpoint);
983
984 /**
985  * @brief
986  *    Encode a Color Control server read command for the enhanced color mode attribute into buffer including the APS frame
987  */
988 chip::System::PacketBufferHandle encodeColorControlClusterReadEnhancedColorModeAttribute(uint8_t seqNum,
989                                                                                          chip::EndpointId destinationEndpoint);
990
991 /**
992  * @brief
993  *    Encode a Color Control server read command for the color loop active attribute into buffer including the APS frame
994  */
995 chip::System::PacketBufferHandle encodeColorControlClusterReadColorLoopActiveAttribute(uint8_t seqNum,
996                                                                                        chip::EndpointId destinationEndpoint);
997
998 /**
999  * @brief
1000  *    Encode a Color Control server read command for the color loop direction attribute into buffer including the APS frame
1001  */
1002 chip::System::PacketBufferHandle encodeColorControlClusterReadColorLoopDirectionAttribute(uint8_t seqNum,
1003                                                                                           chip::EndpointId destinationEndpoint);
1004
1005 /**
1006  * @brief
1007  *    Encode a Color Control server read command for the color loop time attribute into buffer including the APS frame
1008  */
1009 chip::System::PacketBufferHandle encodeColorControlClusterReadColorLoopTimeAttribute(uint8_t seqNum,
1010                                                                                      chip::EndpointId destinationEndpoint);
1011
1012 /**
1013  * @brief
1014  *    Encode a Color Control server read command for the color capabilities attribute into buffer including the APS frame
1015  */
1016 chip::System::PacketBufferHandle encodeColorControlClusterReadColorCapabilitiesAttribute(uint8_t seqNum,
1017                                                                                          chip::EndpointId destinationEndpoint);
1018
1019 /**
1020  * @brief
1021  *    Encode a Color Control server read command for the color temp physical min attribute into buffer including the APS frame
1022  */
1023 chip::System::PacketBufferHandle encodeColorControlClusterReadColorTempPhysicalMinAttribute(uint8_t seqNum,
1024                                                                                             chip::EndpointId destinationEndpoint);
1025
1026 /**
1027  * @brief
1028  *    Encode a Color Control server read command for the color temp physical max attribute into buffer including the APS frame
1029  */
1030 chip::System::PacketBufferHandle encodeColorControlClusterReadColorTempPhysicalMaxAttribute(uint8_t seqNum,
1031                                                                                             chip::EndpointId destinationEndpoint);
1032
1033 /**
1034  * @brief
1035  *    Encode a Color Control server read command for the couple color temp to level min-mireds attribute into buffer including the
1036  * APS frame
1037  */
1038 chip::System::PacketBufferHandle
1039 encodeColorControlClusterReadCoupleColorTempToLevelMinMiredsAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1040
1041 /**
1042  * @brief
1043  *    Encode a Color Control server read command for the start up color temperature mireds attribute into buffer including the APS
1044  * frame
1045  */
1046 chip::System::PacketBufferHandle
1047 encodeColorControlClusterReadStartUpColorTemperatureMiredsAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1048
1049 /**
1050  * @brief
1051  *    Encode a Color Control server write command for the start up color temperature mireds attribute into buffer including the APS
1052  * frame
1053  */
1054 chip::System::PacketBufferHandle
1055 encodeColorControlClusterWriteStartUpColorTemperatureMiredsAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1056                                                                      uint16_t startUpColorTemperatureMireds);
1057
1058 /**
1059  * @brief
1060  *    Encode a Color Control server read command for the cluster revision attribute into buffer including the APS frame
1061  */
1062 chip::System::PacketBufferHandle encodeColorControlClusterReadClusterRevisionAttribute(uint8_t seqNum,
1063                                                                                        chip::EndpointId destinationEndpoint);
1064
1065 /*----------------------------------------------------------------------------*\
1066 | Cluster DoorLock                                                    | 0x0101 |
1067 |------------------------------------------------------------------------------|
1068 | Commands:                                                           |        |
1069 | * ClearAllPins                                                      |   0x08 |
1070 | * ClearAllRfids                                                     |   0x19 |
1071 | * ClearHolidaySchedule                                              |   0x13 |
1072 | * ClearPin                                                          |   0x07 |
1073 | * ClearRfid                                                         |   0x18 |
1074 | * ClearWeekdaySchedule                                              |   0x0D |
1075 | * ClearYeardaySchedule                                              |   0x10 |
1076 | * GetHolidaySchedule                                                |   0x12 |
1077 | * GetLogRecord                                                      |   0x04 |
1078 | * GetPin                                                            |   0x06 |
1079 | * GetRfid                                                           |   0x17 |
1080 | * GetUserType                                                       |   0x15 |
1081 | * GetWeekdaySchedule                                                |   0x0C |
1082 | * GetYeardaySchedule                                                |   0x0F |
1083 | * LockDoor                                                          |   0x00 |
1084 | * SetHolidaySchedule                                                |   0x11 |
1085 | * SetPin                                                            |   0x05 |
1086 | * SetRfid                                                           |   0x16 |
1087 | * SetUserType                                                       |   0x14 |
1088 | * SetWeekdaySchedule                                                |   0x0B |
1089 | * SetYeardaySchedule                                                |   0x0E |
1090 | * UnlockDoor                                                        |   0x01 |
1091 | * UnlockWithTimeout                                                 |   0x03 |
1092 |------------------------------------------------------------------------------|
1093 | Attributes:                                                         |        |
1094 | * LockState                                                         | 0x0000 |
1095 | * LockType                                                          | 0x0001 |
1096 | * ActuatorEnabled                                                   | 0x0002 |
1097 | * ClusterRevision                                                   | 0xFFFD |
1098 \*----------------------------------------------------------------------------*/
1099
1100 /**
1101  * @brief
1102  *    Encode an ClearAllPins command for Door Lock server into buffer including the APS frame
1103  */
1104 chip::System::PacketBufferHandle encodeDoorLockClusterClearAllPinsCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1105
1106 /**
1107  * @brief
1108  *    Encode an ClearAllRfids command for Door Lock server into buffer including the APS frame
1109  */
1110 chip::System::PacketBufferHandle encodeDoorLockClusterClearAllRfidsCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1111
1112 /**
1113  * @brief
1114  *    Encode an ClearHolidaySchedule command for Door Lock server into buffer including the APS frame
1115  */
1116 chip::System::PacketBufferHandle
1117 encodeDoorLockClusterClearHolidayScheduleCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint8_t scheduleId);
1118
1119 /**
1120  * @brief
1121  *    Encode an ClearPin command for Door Lock server into buffer including the APS frame
1122  */
1123 chip::System::PacketBufferHandle encodeDoorLockClusterClearPinCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1124                                                                       uint16_t userId);
1125
1126 /**
1127  * @brief
1128  *    Encode an ClearRfid command for Door Lock server into buffer including the APS frame
1129  */
1130 chip::System::PacketBufferHandle encodeDoorLockClusterClearRfidCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1131                                                                        uint16_t userId);
1132
1133 /**
1134  * @brief
1135  *    Encode an ClearWeekdaySchedule command for Door Lock server into buffer including the APS frame
1136  */
1137 chip::System::PacketBufferHandle encodeDoorLockClusterClearWeekdayScheduleCommand(uint8_t seqNum,
1138                                                                                   chip::EndpointId destinationEndpoint,
1139                                                                                   uint8_t scheduleId, uint16_t userId);
1140
1141 /**
1142  * @brief
1143  *    Encode an ClearYeardaySchedule command for Door Lock server into buffer including the APS frame
1144  */
1145 chip::System::PacketBufferHandle encodeDoorLockClusterClearYeardayScheduleCommand(uint8_t seqNum,
1146                                                                                   chip::EndpointId destinationEndpoint,
1147                                                                                   uint8_t scheduleId, uint16_t userId);
1148
1149 /**
1150  * @brief
1151  *    Encode an GetHolidaySchedule command for Door Lock server into buffer including the APS frame
1152  */
1153 chip::System::PacketBufferHandle
1154 encodeDoorLockClusterGetHolidayScheduleCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint8_t scheduleId);
1155
1156 /**
1157  * @brief
1158  *    Encode an GetLogRecord command for Door Lock server into buffer including the APS frame
1159  */
1160 chip::System::PacketBufferHandle encodeDoorLockClusterGetLogRecordCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1161                                                                           uint16_t logIndex);
1162
1163 /**
1164  * @brief
1165  *    Encode an GetPin command for Door Lock server into buffer including the APS frame
1166  */
1167 chip::System::PacketBufferHandle encodeDoorLockClusterGetPinCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1168                                                                     uint16_t userId);
1169
1170 /**
1171  * @brief
1172  *    Encode an GetRfid command for Door Lock server into buffer including the APS frame
1173  */
1174 chip::System::PacketBufferHandle encodeDoorLockClusterGetRfidCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1175                                                                      uint16_t userId);
1176
1177 /**
1178  * @brief
1179  *    Encode an GetUserType command for Door Lock server into buffer including the APS frame
1180  */
1181 chip::System::PacketBufferHandle encodeDoorLockClusterGetUserTypeCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1182                                                                          uint16_t userId);
1183
1184 /**
1185  * @brief
1186  *    Encode an GetWeekdaySchedule command for Door Lock server into buffer including the APS frame
1187  */
1188 chip::System::PacketBufferHandle encodeDoorLockClusterGetWeekdayScheduleCommand(uint8_t seqNum,
1189                                                                                 chip::EndpointId destinationEndpoint,
1190                                                                                 uint8_t scheduleId, uint16_t userId);
1191
1192 /**
1193  * @brief
1194  *    Encode an GetYeardaySchedule command for Door Lock server into buffer including the APS frame
1195  */
1196 chip::System::PacketBufferHandle encodeDoorLockClusterGetYeardayScheduleCommand(uint8_t seqNum,
1197                                                                                 chip::EndpointId destinationEndpoint,
1198                                                                                 uint8_t scheduleId, uint16_t userId);
1199
1200 /**
1201  * @brief
1202  *    Encode an LockDoor command for Door Lock server into buffer including the APS frame
1203  */
1204 chip::System::PacketBufferHandle encodeDoorLockClusterLockDoorCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1205                                                                       chip::ByteSpan pin);
1206
1207 /**
1208  * @brief
1209  *    Encode an SetHolidaySchedule command for Door Lock server into buffer including the APS frame
1210  */
1211 chip::System::PacketBufferHandle
1212 encodeDoorLockClusterSetHolidayScheduleCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint8_t scheduleId,
1213                                                uint32_t localStartTime, uint32_t localEndTime, uint8_t operatingModeDuringHoliday);
1214
1215 /**
1216  * @brief
1217  *    Encode an SetPin command for Door Lock server into buffer including the APS frame
1218  */
1219 chip::System::PacketBufferHandle encodeDoorLockClusterSetPinCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1220                                                                     uint16_t userId, uint8_t userStatus, uint8_t userType,
1221                                                                     chip::ByteSpan pin);
1222
1223 /**
1224  * @brief
1225  *    Encode an SetRfid command for Door Lock server into buffer including the APS frame
1226  */
1227 chip::System::PacketBufferHandle encodeDoorLockClusterSetRfidCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1228                                                                      uint16_t userId, uint8_t userStatus, uint8_t userType,
1229                                                                      chip::ByteSpan id);
1230
1231 /**
1232  * @brief
1233  *    Encode an SetUserType command for Door Lock server into buffer including the APS frame
1234  */
1235 chip::System::PacketBufferHandle encodeDoorLockClusterSetUserTypeCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1236                                                                          uint16_t userId, uint8_t userType);
1237
1238 /**
1239  * @brief
1240  *    Encode an SetWeekdaySchedule command for Door Lock server into buffer including the APS frame
1241  */
1242 chip::System::PacketBufferHandle
1243 encodeDoorLockClusterSetWeekdayScheduleCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint8_t scheduleId,
1244                                                uint16_t userId, uint8_t daysMask, uint8_t startHour, uint8_t startMinute,
1245                                                uint8_t endHour, uint8_t endMinute);
1246
1247 /**
1248  * @brief
1249  *    Encode an SetYeardaySchedule command for Door Lock server into buffer including the APS frame
1250  */
1251 chip::System::PacketBufferHandle encodeDoorLockClusterSetYeardayScheduleCommand(uint8_t seqNum,
1252                                                                                 chip::EndpointId destinationEndpoint,
1253                                                                                 uint8_t scheduleId, uint16_t userId,
1254                                                                                 uint32_t localStartTime, uint32_t localEndTime);
1255
1256 /**
1257  * @brief
1258  *    Encode an UnlockDoor command for Door Lock server into buffer including the APS frame
1259  */
1260 chip::System::PacketBufferHandle encodeDoorLockClusterUnlockDoorCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1261                                                                         chip::ByteSpan pin);
1262
1263 /**
1264  * @brief
1265  *    Encode an UnlockWithTimeout command for Door Lock server into buffer including the APS frame
1266  */
1267 chip::System::PacketBufferHandle encodeDoorLockClusterUnlockWithTimeoutCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1268                                                                                uint16_t timeoutInSeconds, chip::ByteSpan pin);
1269
1270 /**
1271  * @brief
1272  *    Encode a Door Lock server discover command into buffer including the APS frame
1273  */
1274 chip::System::PacketBufferHandle encodeDoorLockClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1275
1276 /**
1277  * @brief
1278  *    Encode a Door Lock server read command for the lock state attribute into buffer including the APS frame
1279  */
1280 chip::System::PacketBufferHandle encodeDoorLockClusterReadLockStateAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1281
1282 /**
1283  * @brief
1284  *    Encode a Door Lock server configure report command for the lock state attribute into buffer including the APS frame
1285  */
1286 chip::System::PacketBufferHandle encodeDoorLockClusterConfigureLockStateAttribute(uint8_t seqNum,
1287                                                                                   chip::EndpointId destinationEndpoint,
1288                                                                                   uint16_t minInterval, uint16_t maxInterval);
1289
1290 /**
1291  * @brief
1292  *    Encode a Door Lock server read command for the lock type attribute into buffer including the APS frame
1293  */
1294 chip::System::PacketBufferHandle encodeDoorLockClusterReadLockTypeAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1295
1296 /**
1297  * @brief
1298  *    Encode a Door Lock server read command for the actuator enabled attribute into buffer including the APS frame
1299  */
1300 chip::System::PacketBufferHandle encodeDoorLockClusterReadActuatorEnabledAttribute(uint8_t seqNum,
1301                                                                                    chip::EndpointId destinationEndpoint);
1302
1303 /**
1304  * @brief
1305  *    Encode a Door Lock server read command for the cluster revision attribute into buffer including the APS frame
1306  */
1307 chip::System::PacketBufferHandle encodeDoorLockClusterReadClusterRevisionAttribute(uint8_t seqNum,
1308                                                                                    chip::EndpointId destinationEndpoint);
1309
1310 /*----------------------------------------------------------------------------*\
1311 | Cluster GeneralCommissioning                                        | 0x0030 |
1312 |------------------------------------------------------------------------------|
1313 | Commands:                                                           |        |
1314 | * ArmFailSafe                                                       |   0x02 |
1315 | * CommissioningComplete                                             |   0x06 |
1316 | * SetFabric                                                         |   0x00 |
1317 |------------------------------------------------------------------------------|
1318 | Attributes:                                                         |        |
1319 | * FabricId                                                          | 0x0000 |
1320 | * Breadcrumb                                                        | 0x0001 |
1321 | * ClusterRevision                                                   | 0xFFFD |
1322 \*----------------------------------------------------------------------------*/
1323
1324 /**
1325  * @brief
1326  *    Encode an ArmFailSafe command for General Commissioning server into buffer including the APS frame
1327  */
1328 chip::System::PacketBufferHandle encodeGeneralCommissioningClusterArmFailSafeCommand(uint8_t seqNum,
1329                                                                                      chip::EndpointId destinationEndpoint,
1330                                                                                      uint16_t expiryLengthSeconds,
1331                                                                                      uint64_t breadcrumb, uint32_t timeoutMs);
1332
1333 /**
1334  * @brief
1335  *    Encode an CommissioningComplete command for General Commissioning server into buffer including the APS frame
1336  */
1337 chip::System::PacketBufferHandle
1338 encodeGeneralCommissioningClusterCommissioningCompleteCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1339
1340 /**
1341  * @brief
1342  *    Encode an SetFabric command for General Commissioning server into buffer including the APS frame
1343  */
1344 chip::System::PacketBufferHandle
1345 encodeGeneralCommissioningClusterSetFabricCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, chip::ByteSpan fabricId,
1346                                                   chip::ByteSpan fabricSecret, uint64_t breadcrumb, uint32_t timeoutMs);
1347
1348 /**
1349  * @brief
1350  *    Encode a General Commissioning server discover command into buffer including the APS frame
1351  */
1352 chip::System::PacketBufferHandle encodeGeneralCommissioningClusterDiscoverAttributes(uint8_t seqNum,
1353                                                                                      chip::EndpointId destinationEndpoint);
1354
1355 /**
1356  * @brief
1357  *    Encode a General Commissioning server read command for the FabricId attribute into buffer including the APS frame
1358  */
1359 chip::System::PacketBufferHandle encodeGeneralCommissioningClusterReadFabricIdAttribute(uint8_t seqNum,
1360                                                                                         chip::EndpointId destinationEndpoint);
1361
1362 /**
1363  * @brief
1364  *    Encode a General Commissioning server read command for the Breadcrumb attribute into buffer including the APS frame
1365  */
1366 chip::System::PacketBufferHandle encodeGeneralCommissioningClusterReadBreadcrumbAttribute(uint8_t seqNum,
1367                                                                                           chip::EndpointId destinationEndpoint);
1368
1369 /**
1370  * @brief
1371  *    Encode a General Commissioning server write command for the Breadcrumb attribute into buffer including the APS frame
1372  */
1373 chip::System::PacketBufferHandle encodeGeneralCommissioningClusterWriteBreadcrumbAttribute(uint8_t seqNum,
1374                                                                                            chip::EndpointId destinationEndpoint,
1375                                                                                            uint64_t breadcrumb);
1376
1377 /**
1378  * @brief
1379  *    Encode a General Commissioning server read command for the cluster revision attribute into buffer including the APS frame
1380  */
1381 chip::System::PacketBufferHandle
1382 encodeGeneralCommissioningClusterReadClusterRevisionAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1383
1384 /*----------------------------------------------------------------------------*\
1385 | Cluster GroupKeyManagement                                          | 0xF004 |
1386 |------------------------------------------------------------------------------|
1387 | Commands:                                                           |        |
1388 |------------------------------------------------------------------------------|
1389 | Attributes:                                                         |        |
1390 | * Groups                                                            | 0x0000 |
1391 | * GroupKeys                                                         | 0x0001 |
1392 | * ClusterRevision                                                   | 0xFFFD |
1393 \*----------------------------------------------------------------------------*/
1394
1395 /**
1396  * @brief
1397  *    Encode a Group Key Management server discover command into buffer including the APS frame
1398  */
1399 chip::System::PacketBufferHandle encodeGroupKeyManagementClusterDiscoverAttributes(uint8_t seqNum,
1400                                                                                    chip::EndpointId destinationEndpoint);
1401
1402 /**
1403  * @brief
1404  *    Encode a Group Key Management server read command for the groups attribute into buffer including the APS frame
1405  */
1406 chip::System::PacketBufferHandle encodeGroupKeyManagementClusterReadGroupsAttribute(uint8_t seqNum,
1407                                                                                     chip::EndpointId destinationEndpoint);
1408
1409 /**
1410  * @brief
1411  *    Encode a Group Key Management server read command for the group keys attribute into buffer including the APS frame
1412  */
1413 chip::System::PacketBufferHandle encodeGroupKeyManagementClusterReadGroupKeysAttribute(uint8_t seqNum,
1414                                                                                        chip::EndpointId destinationEndpoint);
1415
1416 /**
1417  * @brief
1418  *    Encode a Group Key Management server read command for the cluster revision attribute into buffer including the APS frame
1419  */
1420 chip::System::PacketBufferHandle encodeGroupKeyManagementClusterReadClusterRevisionAttribute(uint8_t seqNum,
1421                                                                                              chip::EndpointId destinationEndpoint);
1422
1423 /*----------------------------------------------------------------------------*\
1424 | Cluster Groups                                                      | 0x0004 |
1425 |------------------------------------------------------------------------------|
1426 | Commands:                                                           |        |
1427 | * AddGroup                                                          |   0x00 |
1428 | * AddGroupIfIdentifying                                             |   0x05 |
1429 | * GetGroupMembership                                                |   0x02 |
1430 | * RemoveAllGroups                                                   |   0x04 |
1431 | * RemoveGroup                                                       |   0x03 |
1432 | * ViewGroup                                                         |   0x01 |
1433 |------------------------------------------------------------------------------|
1434 | Attributes:                                                         |        |
1435 | * NameSupport                                                       | 0x0000 |
1436 | * ClusterRevision                                                   | 0xFFFD |
1437 \*----------------------------------------------------------------------------*/
1438
1439 /**
1440  * @brief
1441  *    Encode an AddGroup command for Groups server into buffer including the APS frame
1442  */
1443 chip::System::PacketBufferHandle encodeGroupsClusterAddGroupCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1444                                                                     uint16_t groupId, chip::ByteSpan groupName);
1445
1446 /**
1447  * @brief
1448  *    Encode an AddGroupIfIdentifying command for Groups server into buffer including the APS frame
1449  */
1450 chip::System::PacketBufferHandle encodeGroupsClusterAddGroupIfIdentifyingCommand(uint8_t seqNum,
1451                                                                                  chip::EndpointId destinationEndpoint,
1452                                                                                  uint16_t groupId, chip::ByteSpan groupName);
1453
1454 /**
1455  * @brief
1456  *    Encode an GetGroupMembership command for Groups server into buffer including the APS frame
1457  */
1458 chip::System::PacketBufferHandle encodeGroupsClusterGetGroupMembershipCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1459                                                                               uint8_t groupCount, uint16_t groupList);
1460
1461 /**
1462  * @brief
1463  *    Encode an RemoveAllGroups command for Groups server into buffer including the APS frame
1464  */
1465 chip::System::PacketBufferHandle encodeGroupsClusterRemoveAllGroupsCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1466
1467 /**
1468  * @brief
1469  *    Encode an RemoveGroup command for Groups server into buffer including the APS frame
1470  */
1471 chip::System::PacketBufferHandle encodeGroupsClusterRemoveGroupCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1472                                                                        uint16_t groupId);
1473
1474 /**
1475  * @brief
1476  *    Encode an ViewGroup command for Groups server into buffer including the APS frame
1477  */
1478 chip::System::PacketBufferHandle encodeGroupsClusterViewGroupCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1479                                                                      uint16_t groupId);
1480
1481 /**
1482  * @brief
1483  *    Encode a Groups server discover command into buffer including the APS frame
1484  */
1485 chip::System::PacketBufferHandle encodeGroupsClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1486
1487 /**
1488  * @brief
1489  *    Encode a Groups server read command for the name support attribute into buffer including the APS frame
1490  */
1491 chip::System::PacketBufferHandle encodeGroupsClusterReadNameSupportAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1492
1493 /**
1494  * @brief
1495  *    Encode a Groups server read command for the cluster revision attribute into buffer including the APS frame
1496  */
1497 chip::System::PacketBufferHandle encodeGroupsClusterReadClusterRevisionAttribute(uint8_t seqNum,
1498                                                                                  chip::EndpointId destinationEndpoint);
1499
1500 /*----------------------------------------------------------------------------*\
1501 | Cluster IasZone                                                     | 0x0500 |
1502 |------------------------------------------------------------------------------|
1503 | Commands:                                                           |        |
1504 |------------------------------------------------------------------------------|
1505 | Attributes:                                                         |        |
1506 | * ZoneState                                                         | 0x0000 |
1507 | * ZoneType                                                          | 0x0001 |
1508 | * ZoneStatus                                                        | 0x0002 |
1509 | * IasCieAddress                                                     | 0x0010 |
1510 | * ZoneId                                                            | 0x0011 |
1511 | * ClusterRevision                                                   | 0xFFFD |
1512 \*----------------------------------------------------------------------------*/
1513
1514 /**
1515  * @brief
1516  *    Encode a IAS Zone server discover command into buffer including the APS frame
1517  */
1518 chip::System::PacketBufferHandle encodeIasZoneClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1519
1520 /**
1521  * @brief
1522  *    Encode a IAS Zone server read command for the zone state attribute into buffer including the APS frame
1523  */
1524 chip::System::PacketBufferHandle encodeIasZoneClusterReadZoneStateAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1525
1526 /**
1527  * @brief
1528  *    Encode a IAS Zone server read command for the zone type attribute into buffer including the APS frame
1529  */
1530 chip::System::PacketBufferHandle encodeIasZoneClusterReadZoneTypeAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1531
1532 /**
1533  * @brief
1534  *    Encode a IAS Zone server read command for the zone status attribute into buffer including the APS frame
1535  */
1536 chip::System::PacketBufferHandle encodeIasZoneClusterReadZoneStatusAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1537
1538 /**
1539  * @brief
1540  *    Encode a IAS Zone server read command for the IAS CIE address attribute into buffer including the APS frame
1541  */
1542 chip::System::PacketBufferHandle encodeIasZoneClusterReadIasCieAddressAttribute(uint8_t seqNum,
1543                                                                                 chip::EndpointId destinationEndpoint);
1544
1545 /**
1546  * @brief
1547  *    Encode a IAS Zone server write command for the IAS CIE address attribute into buffer including the APS frame
1548  */
1549 chip::System::PacketBufferHandle
1550 encodeIasZoneClusterWriteIasCieAddressAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint64_t iasCieAddress);
1551
1552 /**
1553  * @brief
1554  *    Encode a IAS Zone server read command for the Zone ID attribute into buffer including the APS frame
1555  */
1556 chip::System::PacketBufferHandle encodeIasZoneClusterReadZoneIdAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1557
1558 /**
1559  * @brief
1560  *    Encode a IAS Zone server read command for the cluster revision attribute into buffer including the APS frame
1561  */
1562 chip::System::PacketBufferHandle encodeIasZoneClusterReadClusterRevisionAttribute(uint8_t seqNum,
1563                                                                                   chip::EndpointId destinationEndpoint);
1564
1565 /*----------------------------------------------------------------------------*\
1566 | Cluster Identify                                                    | 0x0003 |
1567 |------------------------------------------------------------------------------|
1568 | Commands:                                                           |        |
1569 | * Identify                                                          |   0x00 |
1570 | * IdentifyQuery                                                     |   0x01 |
1571 |------------------------------------------------------------------------------|
1572 | Attributes:                                                         |        |
1573 | * IdentifyTime                                                      | 0x0000 |
1574 | * ClusterRevision                                                   | 0xFFFD |
1575 \*----------------------------------------------------------------------------*/
1576
1577 /**
1578  * @brief
1579  *    Encode an Identify command for Identify server into buffer including the APS frame
1580  */
1581 chip::System::PacketBufferHandle encodeIdentifyClusterIdentifyCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1582                                                                       uint16_t identifyTime);
1583
1584 /**
1585  * @brief
1586  *    Encode an IdentifyQuery command for Identify server into buffer including the APS frame
1587  */
1588 chip::System::PacketBufferHandle encodeIdentifyClusterIdentifyQueryCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1589
1590 /**
1591  * @brief
1592  *    Encode a Identify server discover command into buffer including the APS frame
1593  */
1594 chip::System::PacketBufferHandle encodeIdentifyClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1595
1596 /**
1597  * @brief
1598  *    Encode a Identify server read command for the identify time attribute into buffer including the APS frame
1599  */
1600 chip::System::PacketBufferHandle encodeIdentifyClusterReadIdentifyTimeAttribute(uint8_t seqNum,
1601                                                                                 chip::EndpointId destinationEndpoint);
1602
1603 /**
1604  * @brief
1605  *    Encode a Identify server write command for the identify time attribute into buffer including the APS frame
1606  */
1607 chip::System::PacketBufferHandle
1608 encodeIdentifyClusterWriteIdentifyTimeAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint, uint16_t identifyTime);
1609
1610 /**
1611  * @brief
1612  *    Encode a Identify server read command for the cluster revision attribute into buffer including the APS frame
1613  */
1614 chip::System::PacketBufferHandle encodeIdentifyClusterReadClusterRevisionAttribute(uint8_t seqNum,
1615                                                                                    chip::EndpointId destinationEndpoint);
1616
1617 /*----------------------------------------------------------------------------*\
1618 | Cluster LevelControl                                                | 0x0008 |
1619 |------------------------------------------------------------------------------|
1620 | Commands:                                                           |        |
1621 | * Move                                                              |   0x01 |
1622 | * MoveToLevel                                                       |   0x00 |
1623 | * MoveToLevelWithOnOff                                              |   0x04 |
1624 | * MoveWithOnOff                                                     |   0x05 |
1625 | * Step                                                              |   0x02 |
1626 | * StepWithOnOff                                                     |   0x06 |
1627 | * Stop                                                              |   0x03 |
1628 | * StopWithOnOff                                                     |   0x07 |
1629 |------------------------------------------------------------------------------|
1630 | Attributes:                                                         |        |
1631 | * CurrentLevel                                                      | 0x0000 |
1632 | * ClusterRevision                                                   | 0xFFFD |
1633 \*----------------------------------------------------------------------------*/
1634
1635 /**
1636  * @brief
1637  *    Encode an Move command for Level Control server into buffer including the APS frame
1638  */
1639 chip::System::PacketBufferHandle encodeLevelControlClusterMoveCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1640                                                                       uint8_t moveMode, uint8_t rate, uint8_t optionMask,
1641                                                                       uint8_t optionOverride);
1642
1643 /**
1644  * @brief
1645  *    Encode an MoveToLevel command for Level Control server into buffer including the APS frame
1646  */
1647 chip::System::PacketBufferHandle encodeLevelControlClusterMoveToLevelCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1648                                                                              uint8_t level, uint16_t transitionTime,
1649                                                                              uint8_t optionMask, uint8_t optionOverride);
1650
1651 /**
1652  * @brief
1653  *    Encode an MoveToLevelWithOnOff command for Level Control server into buffer including the APS frame
1654  */
1655 chip::System::PacketBufferHandle encodeLevelControlClusterMoveToLevelWithOnOffCommand(uint8_t seqNum,
1656                                                                                       chip::EndpointId destinationEndpoint,
1657                                                                                       uint8_t level, uint16_t transitionTime);
1658
1659 /**
1660  * @brief
1661  *    Encode an MoveWithOnOff command for Level Control server into buffer including the APS frame
1662  */
1663 chip::System::PacketBufferHandle encodeLevelControlClusterMoveWithOnOffCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1664                                                                                uint8_t moveMode, uint8_t rate);
1665
1666 /**
1667  * @brief
1668  *    Encode an Step command for Level Control server into buffer including the APS frame
1669  */
1670 chip::System::PacketBufferHandle encodeLevelControlClusterStepCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1671                                                                       uint8_t stepMode, uint8_t stepSize, uint16_t transitionTime,
1672                                                                       uint8_t optionMask, uint8_t optionOverride);
1673
1674 /**
1675  * @brief
1676  *    Encode an StepWithOnOff command for Level Control server into buffer including the APS frame
1677  */
1678 chip::System::PacketBufferHandle encodeLevelControlClusterStepWithOnOffCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1679                                                                                uint8_t stepMode, uint8_t stepSize,
1680                                                                                uint16_t transitionTime);
1681
1682 /**
1683  * @brief
1684  *    Encode an Stop command for Level Control server into buffer including the APS frame
1685  */
1686 chip::System::PacketBufferHandle encodeLevelControlClusterStopCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1687                                                                       uint8_t optionMask, uint8_t optionOverride);
1688
1689 /**
1690  * @brief
1691  *    Encode an StopWithOnOff command for Level Control server into buffer including the APS frame
1692  */
1693 chip::System::PacketBufferHandle encodeLevelControlClusterStopWithOnOffCommand(uint8_t seqNum,
1694                                                                                chip::EndpointId destinationEndpoint);
1695
1696 /**
1697  * @brief
1698  *    Encode a Level Control server discover command into buffer including the APS frame
1699  */
1700 chip::System::PacketBufferHandle encodeLevelControlClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1701
1702 /**
1703  * @brief
1704  *    Encode a Level Control server read command for the current level attribute into buffer including the APS frame
1705  */
1706 chip::System::PacketBufferHandle encodeLevelControlClusterReadCurrentLevelAttribute(uint8_t seqNum,
1707                                                                                     chip::EndpointId destinationEndpoint);
1708
1709 /**
1710  * @brief
1711  *    Encode a Level Control server configure report command for the current level attribute into buffer including the APS frame
1712  */
1713 chip::System::PacketBufferHandle encodeLevelControlClusterConfigureCurrentLevelAttribute(uint8_t seqNum,
1714                                                                                          chip::EndpointId destinationEndpoint,
1715                                                                                          uint16_t minInterval, uint16_t maxInterval,
1716                                                                                          uint8_t change);
1717
1718 /**
1719  * @brief
1720  *    Encode a Level Control server read command for the cluster revision attribute into buffer including the APS frame
1721  */
1722 chip::System::PacketBufferHandle encodeLevelControlClusterReadClusterRevisionAttribute(uint8_t seqNum,
1723                                                                                        chip::EndpointId destinationEndpoint);
1724
1725 /*----------------------------------------------------------------------------*\
1726 | Cluster LowPower                                                    | 0x0508 |
1727 |------------------------------------------------------------------------------|
1728 | Commands:                                                           |        |
1729 | * Sleep                                                             |   0x00 |
1730 |------------------------------------------------------------------------------|
1731 | Attributes:                                                         |        |
1732 | * ClusterRevision                                                   | 0xFFFD |
1733 \*----------------------------------------------------------------------------*/
1734
1735 /**
1736  * @brief
1737  *    Encode an Sleep command for Low Power server into buffer including the APS frame
1738  */
1739 chip::System::PacketBufferHandle encodeLowPowerClusterSleepCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1740
1741 /**
1742  * @brief
1743  *    Encode a Low Power server discover command into buffer including the APS frame
1744  */
1745 chip::System::PacketBufferHandle encodeLowPowerClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1746
1747 /**
1748  * @brief
1749  *    Encode a Low Power server read command for the cluster revision attribute into buffer including the APS frame
1750  */
1751 chip::System::PacketBufferHandle encodeLowPowerClusterReadClusterRevisionAttribute(uint8_t seqNum,
1752                                                                                    chip::EndpointId destinationEndpoint);
1753
1754 /*----------------------------------------------------------------------------*\
1755 | Cluster NetworkCommissioning                                        | 0x0031 |
1756 |------------------------------------------------------------------------------|
1757 | Commands:                                                           |        |
1758 | * AddThreadNetwork                                                  |   0x06 |
1759 | * AddWiFiNetwork                                                    |   0x02 |
1760 | * DisableNetwork                                                    |   0x0E |
1761 | * EnableNetwork                                                     |   0x0C |
1762 | * GetLastNetworkCommissioningResult                                 |   0x10 |
1763 | * RemoveNetwork                                                     |   0x0A |
1764 | * ScanNetworks                                                      |   0x00 |
1765 | * UpdateThreadNetwork                                               |   0x08 |
1766 | * UpdateWiFiNetwork                                                 |   0x04 |
1767 |------------------------------------------------------------------------------|
1768 | Attributes:                                                         |        |
1769 | * ClusterRevision                                                   | 0xFFFD |
1770 \*----------------------------------------------------------------------------*/
1771
1772 /**
1773  * @brief
1774  *    Encode an AddThreadNetwork command for Network Commissioning server into buffer including the APS frame
1775  */
1776 chip::System::PacketBufferHandle encodeNetworkCommissioningClusterAddThreadNetworkCommand(uint8_t seqNum,
1777                                                                                           chip::EndpointId destinationEndpoint,
1778                                                                                           chip::ByteSpan operationalDataset,
1779                                                                                           uint64_t breadcrumb, uint32_t timeoutMs);
1780
1781 /**
1782  * @brief
1783  *    Encode an AddWiFiNetwork command for Network Commissioning server into buffer including the APS frame
1784  */
1785 chip::System::PacketBufferHandle
1786 encodeNetworkCommissioningClusterAddWiFiNetworkCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, chip::ByteSpan ssid,
1787                                                        chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs);
1788
1789 /**
1790  * @brief
1791  *    Encode an DisableNetwork command for Network Commissioning server into buffer including the APS frame
1792  */
1793 chip::System::PacketBufferHandle encodeNetworkCommissioningClusterDisableNetworkCommand(uint8_t seqNum,
1794                                                                                         chip::EndpointId destinationEndpoint,
1795                                                                                         chip::ByteSpan networkID,
1796                                                                                         uint64_t breadcrumb, uint32_t timeoutMs);
1797
1798 /**
1799  * @brief
1800  *    Encode an EnableNetwork command for Network Commissioning server into buffer including the APS frame
1801  */
1802 chip::System::PacketBufferHandle encodeNetworkCommissioningClusterEnableNetworkCommand(uint8_t seqNum,
1803                                                                                        chip::EndpointId destinationEndpoint,
1804                                                                                        chip::ByteSpan networkID,
1805                                                                                        uint64_t breadcrumb, uint32_t timeoutMs);
1806
1807 /**
1808  * @brief
1809  *    Encode an GetLastNetworkCommissioningResult command for Network Commissioning server into buffer including the APS frame
1810  */
1811 chip::System::PacketBufferHandle
1812 encodeNetworkCommissioningClusterGetLastNetworkCommissioningResultCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1813                                                                           uint32_t timeoutMs);
1814
1815 /**
1816  * @brief
1817  *    Encode an RemoveNetwork command for Network Commissioning server into buffer including the APS frame
1818  */
1819 chip::System::PacketBufferHandle encodeNetworkCommissioningClusterRemoveNetworkCommand(uint8_t seqNum,
1820                                                                                        chip::EndpointId destinationEndpoint,
1821                                                                                        chip::ByteSpan networkID,
1822                                                                                        uint64_t breadcrumb, uint32_t timeoutMs);
1823
1824 /**
1825  * @brief
1826  *    Encode an ScanNetworks command for Network Commissioning server into buffer including the APS frame
1827  */
1828 chip::System::PacketBufferHandle encodeNetworkCommissioningClusterScanNetworksCommand(uint8_t seqNum,
1829                                                                                       chip::EndpointId destinationEndpoint,
1830                                                                                       chip::ByteSpan ssid, uint64_t breadcrumb,
1831                                                                                       uint32_t timeoutMs);
1832
1833 /**
1834  * @brief
1835  *    Encode an UpdateThreadNetwork command for Network Commissioning server into buffer including the APS frame
1836  */
1837 chip::System::PacketBufferHandle encodeNetworkCommissioningClusterUpdateThreadNetworkCommand(uint8_t seqNum,
1838                                                                                              chip::EndpointId destinationEndpoint,
1839                                                                                              chip::ByteSpan operationalDataset,
1840                                                                                              uint64_t breadcrumb,
1841                                                                                              uint32_t timeoutMs);
1842
1843 /**
1844  * @brief
1845  *    Encode an UpdateWiFiNetwork command for Network Commissioning server into buffer including the APS frame
1846  */
1847 chip::System::PacketBufferHandle
1848 encodeNetworkCommissioningClusterUpdateWiFiNetworkCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint, chip::ByteSpan ssid,
1849                                                           chip::ByteSpan credentials, uint64_t breadcrumb, uint32_t timeoutMs);
1850
1851 /**
1852  * @brief
1853  *    Encode a Network Commissioning server discover command into buffer including the APS frame
1854  */
1855 chip::System::PacketBufferHandle encodeNetworkCommissioningClusterDiscoverAttributes(uint8_t seqNum,
1856                                                                                      chip::EndpointId destinationEndpoint);
1857
1858 /**
1859  * @brief
1860  *    Encode a Network Commissioning server read command for the cluster revision attribute into buffer including the APS frame
1861  */
1862 chip::System::PacketBufferHandle
1863 encodeNetworkCommissioningClusterReadClusterRevisionAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1864
1865 /*----------------------------------------------------------------------------*\
1866 | Cluster OnOff                                                       | 0x0006 |
1867 |------------------------------------------------------------------------------|
1868 | Commands:                                                           |        |
1869 | * Off                                                               |   0x00 |
1870 | * On                                                                |   0x01 |
1871 | * Toggle                                                            |   0x02 |
1872 |------------------------------------------------------------------------------|
1873 | Attributes:                                                         |        |
1874 | * OnOff                                                             | 0x0000 |
1875 | * ClusterRevision                                                   | 0xFFFD |
1876 \*----------------------------------------------------------------------------*/
1877
1878 /**
1879  * @brief
1880  *    Encode an Off command for On/off server into buffer including the APS frame
1881  */
1882 chip::System::PacketBufferHandle encodeOnOffClusterOffCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1883
1884 /**
1885  * @brief
1886  *    Encode an On command for On/off server into buffer including the APS frame
1887  */
1888 chip::System::PacketBufferHandle encodeOnOffClusterOnCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1889
1890 /**
1891  * @brief
1892  *    Encode an Toggle command for On/off server into buffer including the APS frame
1893  */
1894 chip::System::PacketBufferHandle encodeOnOffClusterToggleCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1895
1896 /**
1897  * @brief
1898  *    Encode a On/off server discover command into buffer including the APS frame
1899  */
1900 chip::System::PacketBufferHandle encodeOnOffClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1901
1902 /**
1903  * @brief
1904  *    Encode a On/off server read command for the on/off attribute into buffer including the APS frame
1905  */
1906 chip::System::PacketBufferHandle encodeOnOffClusterReadOnOffAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1907
1908 /**
1909  * @brief
1910  *    Encode a On/off server configure report command for the on/off attribute into buffer including the APS frame
1911  */
1912 chip::System::PacketBufferHandle encodeOnOffClusterConfigureOnOffAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1913                                                                            uint16_t minInterval, uint16_t maxInterval);
1914
1915 /**
1916  * @brief
1917  *    Encode a On/off server read command for the cluster revision attribute into buffer including the APS frame
1918  */
1919 chip::System::PacketBufferHandle encodeOnOffClusterReadClusterRevisionAttribute(uint8_t seqNum,
1920                                                                                 chip::EndpointId destinationEndpoint);
1921
1922 /*----------------------------------------------------------------------------*\
1923 | Cluster Scenes                                                      | 0x0005 |
1924 |------------------------------------------------------------------------------|
1925 | Commands:                                                           |        |
1926 | * AddScene                                                          |   0x00 |
1927 | * GetSceneMembership                                                |   0x06 |
1928 | * RecallScene                                                       |   0x05 |
1929 | * RemoveAllScenes                                                   |   0x03 |
1930 | * RemoveScene                                                       |   0x02 |
1931 | * StoreScene                                                        |   0x04 |
1932 | * ViewScene                                                         |   0x01 |
1933 |------------------------------------------------------------------------------|
1934 | Attributes:                                                         |        |
1935 | * SceneCount                                                        | 0x0000 |
1936 | * CurrentScene                                                      | 0x0001 |
1937 | * CurrentGroup                                                      | 0x0002 |
1938 | * SceneValid                                                        | 0x0003 |
1939 | * NameSupport                                                       | 0x0004 |
1940 | * ClusterRevision                                                   | 0xFFFD |
1941 \*----------------------------------------------------------------------------*/
1942
1943 /**
1944  * @brief
1945  *    Encode an AddScene command for Scenes server into buffer including the APS frame
1946  */
1947 chip::System::PacketBufferHandle encodeScenesClusterAddSceneCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1948                                                                     uint16_t groupId, uint8_t sceneId, uint16_t transitionTime,
1949                                                                     chip::ByteSpan sceneName, chip::ClusterId clusterId,
1950                                                                     uint8_t length, uint8_t value);
1951
1952 /**
1953  * @brief
1954  *    Encode an GetSceneMembership command for Scenes server into buffer including the APS frame
1955  */
1956 chip::System::PacketBufferHandle encodeScenesClusterGetSceneMembershipCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1957                                                                               uint16_t groupId);
1958
1959 /**
1960  * @brief
1961  *    Encode an RecallScene command for Scenes server into buffer including the APS frame
1962  */
1963 chip::System::PacketBufferHandle encodeScenesClusterRecallSceneCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1964                                                                        uint16_t groupId, uint8_t sceneId, uint16_t transitionTime);
1965
1966 /**
1967  * @brief
1968  *    Encode an RemoveAllScenes command for Scenes server into buffer including the APS frame
1969  */
1970 chip::System::PacketBufferHandle encodeScenesClusterRemoveAllScenesCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1971                                                                            uint16_t groupId);
1972
1973 /**
1974  * @brief
1975  *    Encode an RemoveScene command for Scenes server into buffer including the APS frame
1976  */
1977 chip::System::PacketBufferHandle encodeScenesClusterRemoveSceneCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1978                                                                        uint16_t groupId, uint8_t sceneId);
1979
1980 /**
1981  * @brief
1982  *    Encode an StoreScene command for Scenes server into buffer including the APS frame
1983  */
1984 chip::System::PacketBufferHandle encodeScenesClusterStoreSceneCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1985                                                                       uint16_t groupId, uint8_t sceneId);
1986
1987 /**
1988  * @brief
1989  *    Encode an ViewScene command for Scenes server into buffer including the APS frame
1990  */
1991 chip::System::PacketBufferHandle encodeScenesClusterViewSceneCommand(uint8_t seqNum, chip::EndpointId destinationEndpoint,
1992                                                                      uint16_t groupId, uint8_t sceneId);
1993
1994 /**
1995  * @brief
1996  *    Encode a Scenes server discover command into buffer including the APS frame
1997  */
1998 chip::System::PacketBufferHandle encodeScenesClusterDiscoverAttributes(uint8_t seqNum, chip::EndpointId destinationEndpoint);
1999
2000 /**
2001  * @brief
2002  *    Encode a Scenes server read command for the scene count attribute into buffer including the APS frame
2003  */
2004 chip::System::PacketBufferHandle encodeScenesClusterReadSceneCountAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2005
2006 /**
2007  * @brief
2008  *    Encode a Scenes server read command for the current scene attribute into buffer including the APS frame
2009  */
2010 chip::System::PacketBufferHandle encodeScenesClusterReadCurrentSceneAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2011
2012 /**
2013  * @brief
2014  *    Encode a Scenes server read command for the current group attribute into buffer including the APS frame
2015  */
2016 chip::System::PacketBufferHandle encodeScenesClusterReadCurrentGroupAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2017
2018 /**
2019  * @brief
2020  *    Encode a Scenes server read command for the scene valid attribute into buffer including the APS frame
2021  */
2022 chip::System::PacketBufferHandle encodeScenesClusterReadSceneValidAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2023
2024 /**
2025  * @brief
2026  *    Encode a Scenes server read command for the name support attribute into buffer including the APS frame
2027  */
2028 chip::System::PacketBufferHandle encodeScenesClusterReadNameSupportAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2029
2030 /**
2031  * @brief
2032  *    Encode a Scenes server read command for the cluster revision attribute into buffer including the APS frame
2033  */
2034 chip::System::PacketBufferHandle encodeScenesClusterReadClusterRevisionAttribute(uint8_t seqNum,
2035                                                                                  chip::EndpointId destinationEndpoint);
2036
2037 /*----------------------------------------------------------------------------*\
2038 | Cluster TemperatureMeasurement                                      | 0x0402 |
2039 |------------------------------------------------------------------------------|
2040 | Commands:                                                           |        |
2041 |------------------------------------------------------------------------------|
2042 | Attributes:                                                         |        |
2043 | * MeasuredValue                                                     | 0x0000 |
2044 | * MinMeasuredValue                                                  | 0x0001 |
2045 | * MaxMeasuredValue                                                  | 0x0002 |
2046 | * ClusterRevision                                                   | 0xFFFD |
2047 \*----------------------------------------------------------------------------*/
2048
2049 /**
2050  * @brief
2051  *    Encode a Temperature Measurement server discover command into buffer including the APS frame
2052  */
2053 chip::System::PacketBufferHandle encodeTemperatureMeasurementClusterDiscoverAttributes(uint8_t seqNum,
2054                                                                                        chip::EndpointId destinationEndpoint);
2055
2056 /**
2057  * @brief
2058  *    Encode a Temperature Measurement server read command for the measured value attribute into buffer including the APS frame
2059  */
2060 chip::System::PacketBufferHandle
2061 encodeTemperatureMeasurementClusterReadMeasuredValueAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2062
2063 /**
2064  * @brief
2065  *    Encode a Temperature Measurement server configure report command for the measured value attribute into buffer including the
2066  * APS frame
2067  */
2068 chip::System::PacketBufferHandle
2069 encodeTemperatureMeasurementClusterConfigureMeasuredValueAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint,
2070                                                                    uint16_t minInterval, uint16_t maxInterval, int16_t change);
2071
2072 /**
2073  * @brief
2074  *    Encode a Temperature Measurement server read command for the min measured value attribute into buffer including the APS frame
2075  */
2076 chip::System::PacketBufferHandle
2077 encodeTemperatureMeasurementClusterReadMinMeasuredValueAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2078
2079 /**
2080  * @brief
2081  *    Encode a Temperature Measurement server read command for the max measured value attribute into buffer including the APS frame
2082  */
2083 chip::System::PacketBufferHandle
2084 encodeTemperatureMeasurementClusterReadMaxMeasuredValueAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);
2085
2086 /**
2087  * @brief
2088  *    Encode a Temperature Measurement server read command for the cluster revision attribute into buffer including the APS frame
2089  */
2090 chip::System::PacketBufferHandle
2091 encodeTemperatureMeasurementClusterReadClusterRevisionAttribute(uint8_t seqNum, chip::EndpointId destinationEndpoint);