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