Skip to content

Matter tvOS xcode14.1 b1

Alex Soto edited this page Sep 15, 2022 · 2 revisions

#Matter.framework

diff -ruN /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRAsyncCallbackWorkQueue.h /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRAsyncCallbackWorkQueue.h
--- /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRAsyncCallbackWorkQueue.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRAsyncCallbackWorkQueue.h	2022-09-08 00:03:00.000000000 -0400
@@ -0,0 +1,81 @@
+/**
+ *
+ *    Copyright (c) 2022 Project CHIP Authors
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@class MTRAsyncCallbackQueueWorkItem;
+
+typedef void (^MTRAsyncCallbackReadyHandler)(id context, NSUInteger retryCount);
+
+// MTRAsyncCallbackQueue high level description
+//   The MTRAsyncCallbackQueue was made to call one readyHandler
+//   block at a time asynchronously, and the readyHandler is
+//   expected to start/schedule a task. When the task finishes
+//   asynchronously in the future (at any time, from any queue
+//   or thread), it is expected to ask the workItem object to
+//   either endWork or retryWork.
+
+// Sequence of steps when queuing a work item:
+//   - Create MTRAsyncCallbackQueueWorkItem object
+//   - Create ready handler block (MTRAsyncCallbackReadyHandler)
+//      - block is called when it's the WorkItem's turn to do work
+//      - its body is to perform a task that is expected to end asynchronously in the future
+//      - at the end of work, call on the work item object:
+//         - endWork for success or failure
+//         - retryWork for temporary failures
+//   - Set the readyHandler block on the WorkItem object
+//   - Call enqueueWorkItem on a MTRAsyncCallbackQueue
+
+// A serial one-at-a-time queue for performing work items
+@interface MTRAsyncCallbackWorkQueue : NSObject
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+// The context object is only held and passed back as a reference and is opaque to the work queue
+- (instancetype)initWithContext:(id _Nullable)context queue:(dispatch_queue_t)queue;
+
+// Called by the work queue owner to clean up and cancel work items
+- (void)invalidate;
+
+// Work items may be enqueued from any queue or thread
+- (void)enqueueWorkItem:(MTRAsyncCallbackQueueWorkItem *)item;
+
+// TODO: Add a "set concurrency width" method to allow for more than 1 work item at a time
+@end
+
+// An item in the work queue
+@interface MTRAsyncCallbackQueueWorkItem : NSObject
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+// Both readyHandler and cancelHander will be called on the queue given to initWithQueue
+- (instancetype)initWithQueue:(dispatch_queue_t)queue;
+@property (nonatomic, strong) MTRAsyncCallbackReadyHandler readyHandler;
+@property (nonatomic, strong) dispatch_block_t cancelHandler;
+
+// Called by the creater of the work item when async work is done and should
+// be removed from the queue. The work queue will run the next work item.
+- (void)endWork;
+
+// Called by the creater of the work item when async work should be retried.
+// The work queue will call this workItem's readyHandler again.
+- (void)retryWork;
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h
--- /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h	2022-07-29 14:42:19.000000000 -0400
+++ /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseClusters.h	2022-09-08 00:03:00.000000000 -0400
@@ -24,10 +24,6 @@
 #import <Matter/MTRCluster.h>
 #import <Matter/MTRCommandPayloadsObjc.h>
 
-typedef void (^ResponseHandler)(id _Nullable value, NSError * _Nullable error);
-typedef void (^StatusCompletion)(NSError * _Nullable error);
-typedef void (^SubscriptionEstablishedHandler)(void);
-
 NS_ASSUME_NONNULL_BEGIN
 
 /**
@@ -941,9 +937,8 @@
               completionHandler:(StatusCompletion)completionHandler;
 - (void)stepWithOnOffWithParams:(MTRLevelControlClusterStepWithOnOffParams *)params
               completionHandler:(StatusCompletion)completionHandler;
-- (void)stopWithOnOffWithParams:(MTRLevelControlClusterStopWithOnOffParams * _Nullable)params
+- (void)stopWithOnOffWithParams:(MTRLevelControlClusterStopWithOnOffParams *)params
               completionHandler:(StatusCompletion)completionHandler;
-- (void)stopWithOnOffWithCompletionHandler:(StatusCompletion)completionHandler;
 - (void)moveToClosestFrequencyWithParams:(MTRLevelControlClusterMoveToClosestFrequencyParams *)params
                        completionHandler:(StatusCompletion)completionHandler;
 
@@ -2104,38 +2099,33 @@
 @end
 
 /**
- * Cluster Bridged Actions
+ * Cluster Actions
  *
  */
-@interface MTRBaseClusterBridgedActions : MTRCluster
+@interface MTRBaseClusterActions : MTRCluster
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device
                                endpoint:(uint16_t)endpoint
                                   queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
 
-- (void)instantActionWithParams:(MTRBridgedActionsClusterInstantActionParams *)params
+- (void)instantActionWithParams:(MTRActionsClusterInstantActionParams *)params
               completionHandler:(StatusCompletion)completionHandler;
-- (void)instantActionWithTransitionWithParams:(MTRBridgedActionsClusterInstantActionWithTransitionParams *)params
+- (void)instantActionWithTransitionWithParams:(MTRActionsClusterInstantActionWithTransitionParams *)params
                             completionHandler:(StatusCompletion)completionHandler;
-- (void)startActionWithParams:(MTRBridgedActionsClusterStartActionParams *)params
-            completionHandler:(StatusCompletion)completionHandler;
-- (void)startActionWithDurationWithParams:(MTRBridgedActionsClusterStartActionWithDurationParams *)params
+- (void)startActionWithParams:(MTRActionsClusterStartActionParams *)params completionHandler:(StatusCompletion)completionHandler;
+- (void)startActionWithDurationWithParams:(MTRActionsClusterStartActionWithDurationParams *)params
                         completionHandler:(StatusCompletion)completionHandler;
-- (void)stopActionWithParams:(MTRBridgedActionsClusterStopActionParams *)params
-           completionHandler:(StatusCompletion)completionHandler;
-- (void)pauseActionWithParams:(MTRBridgedActionsClusterPauseActionParams *)params
-            completionHandler:(StatusCompletion)completionHandler;
-- (void)pauseActionWithDurationWithParams:(MTRBridgedActionsClusterPauseActionWithDurationParams *)params
+- (void)stopActionWithParams:(MTRActionsClusterStopActionParams *)params completionHandler:(StatusCompletion)completionHandler;
+- (void)pauseActionWithParams:(MTRActionsClusterPauseActionParams *)params completionHandler:(StatusCompletion)completionHandler;
+- (void)pauseActionWithDurationWithParams:(MTRActionsClusterPauseActionWithDurationParams *)params
                         completionHandler:(StatusCompletion)completionHandler;
-- (void)resumeActionWithParams:(MTRBridgedActionsClusterResumeActionParams *)params
-             completionHandler:(StatusCompletion)completionHandler;
-- (void)enableActionWithParams:(MTRBridgedActionsClusterEnableActionParams *)params
-             completionHandler:(StatusCompletion)completionHandler;
-- (void)enableActionWithDurationWithParams:(MTRBridgedActionsClusterEnableActionWithDurationParams *)params
+- (void)resumeActionWithParams:(MTRActionsClusterResumeActionParams *)params completionHandler:(StatusCompletion)completionHandler;
+- (void)enableActionWithParams:(MTRActionsClusterEnableActionParams *)params completionHandler:(StatusCompletion)completionHandler;
+- (void)enableActionWithDurationWithParams:(MTRActionsClusterEnableActionWithDurationParams *)params
                          completionHandler:(StatusCompletion)completionHandler;
-- (void)disableActionWithParams:(MTRBridgedActionsClusterDisableActionParams *)params
+- (void)disableActionWithParams:(MTRActionsClusterDisableActionParams *)params
               completionHandler:(StatusCompletion)completionHandler;
-- (void)disableActionWithDurationWithParams:(MTRBridgedActionsClusterDisableActionWithDurationParams *)params
+- (void)disableActionWithDurationWithParams:(MTRActionsClusterDisableActionWithDurationParams *)params
                           completionHandler:(StatusCompletion)completionHandler;
 
 - (void)readAttributeActionListWithCompletionHandler:(void (^)(
@@ -2154,35 +2144,36 @@
                                             queue:(dispatch_queue_t)queue
                                 completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
 
-- (void)readAttributeEndpointListWithCompletionHandler:(void (^)(
-                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)readAttributeEndpointListsWithCompletionHandler:(void (^)(
+                                                            NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
 /**
  * This API does not support setting autoResubscribe to NO in the
  * MTRSubscribeParams.
  */
-- (void)subscribeAttributeEndpointListWithMinInterval:(NSNumber * _Nonnull)minInterval
-                                          maxInterval:(NSNumber * _Nonnull)maxInterval
-                                               params:(MTRSubscribeParams * _Nullable)params
-                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
-                                        reportHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeEndpointListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
-                                           endpoint:(NSNumber *)endpoint
-                                              queue:(dispatch_queue_t)queue
-                                  completionHandler:
-                                      (void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)subscribeAttributeEndpointListsWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                           maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                params:(MTRSubscribeParams * _Nullable)params
+                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                         reportHandler:
+                                             (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeEndpointListsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                            endpoint:(NSNumber *)endpoint
+                                               queue:(dispatch_queue_t)queue
+                                   completionHandler:
+                                       (void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
 
-- (void)readAttributeSetupUrlWithCompletionHandler:(void (^)(
+- (void)readAttributeSetupURLWithCompletionHandler:(void (^)(
                                                        NSString * _Nullable value, NSError * _Nullable error))completionHandler;
 /**
  * This API does not support setting autoResubscribe to NO in the
  * MTRSubscribeParams.
  */
-- (void)subscribeAttributeSetupUrlWithMinInterval:(NSNumber * _Nonnull)minInterval
+- (void)subscribeAttributeSetupURLWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
                                            params:(MTRSubscribeParams * _Nullable)params
                           subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                     reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeSetupUrlWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
++ (void)readAttributeSetupURLWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
                                           queue:(dispatch_queue_t)queue
                               completionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler;
@@ -6427,21 +6418,23 @@
                                     completionHandler:(void (^)(MTRThreadNetworkDiagnosticsClusterSecurityPolicy * _Nullable value,
                                                           NSError * _Nullable error))completionHandler;
 
-- (void)readAttributeChannelMaskWithCompletionHandler:(void (^)(
-                                                          NSData * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)readAttributeChannelPage0MaskWithCompletionHandler:(void (^)(NSData * _Nullable value,
+                                                               NSError * _Nullable error))completionHandler;
 /**
  * This API does not support setting autoResubscribe to NO in the
  * MTRSubscribeParams.
  */
-- (void)subscribeAttributeChannelMaskWithMinInterval:(NSNumber * _Nonnull)minInterval
-                                         maxInterval:(NSNumber * _Nonnull)maxInterval
-                                              params:(MTRSubscribeParams * _Nullable)params
-                             subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
-                                       reportHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
-+ (void)readAttributeChannelMaskWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
-                                          endpoint:(NSNumber *)endpoint
-                                             queue:(dispatch_queue_t)queue
-                                 completionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)subscribeAttributeChannelPage0MaskWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                              maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                   params:(MTRSubscribeParams * _Nullable)params
+                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                            reportHandler:
+                                                (void (^)(NSData * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeChannelPage0MaskWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                               endpoint:(NSNumber *)endpoint
+                                                  queue:(dispatch_queue_t)queue
+                                      completionHandler:
+                                          (void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler;
 
 - (void)readAttributeOperationalDatasetComponentsWithCompletionHandler:
     (void (^)(MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents * _Nullable value,
@@ -13918,6 +13911,404 @@
 @end
 
 /**
+ * Cluster Ballast Configuration
+ *
+ */
+@interface MTRBaseClusterBallastConfiguration : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRBaseDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)readAttributePhysicalMinLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                               NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributePhysicalMinLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                              maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                   params:(MTRSubscribeParams * _Nullable)params
+                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                            reportHandler:
+                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributePhysicalMinLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                               endpoint:(NSNumber *)endpoint
+                                                  queue:(dispatch_queue_t)queue
+                                      completionHandler:
+                                          (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributePhysicalMaxLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                               NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributePhysicalMaxLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                              maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                   params:(MTRSubscribeParams * _Nullable)params
+                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                            reportHandler:
+                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributePhysicalMaxLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                               endpoint:(NSNumber *)endpoint
+                                                  queue:(dispatch_queue_t)queue
+                                      completionHandler:
+                                          (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeBallastStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                            NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeBallastStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                           maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                params:(MTRSubscribeParams * _Nullable)params
+                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                         reportHandler:
+                                             (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeBallastStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                            endpoint:(NSNumber *)endpoint
+                                               queue:(dispatch_queue_t)queue
+                                   completionHandler:
+                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeMinLevelWithCompletionHandler:(void (^)(
+                                                       NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)writeAttributeMinLevelWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeMinLevelWithValue:(NSNumber * _Nonnull)value
+                                 params:(MTRWriteParams * _Nullable)params
+                      completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeMinLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                      maxInterval:(NSNumber * _Nonnull)maxInterval
+                                           params:(MTRSubscribeParams * _Nullable)params
+                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeMinLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                       endpoint:(NSNumber *)endpoint
+                                          queue:(dispatch_queue_t)queue
+                              completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeMaxLevelWithCompletionHandler:(void (^)(
+                                                       NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)writeAttributeMaxLevelWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeMaxLevelWithValue:(NSNumber * _Nonnull)value
+                                 params:(MTRWriteParams * _Nullable)params
+                      completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeMaxLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                      maxInterval:(NSNumber * _Nonnull)maxInterval
+                                           params:(MTRSubscribeParams * _Nullable)params
+                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                    reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeMaxLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                       endpoint:(NSNumber *)endpoint
+                                          queue:(dispatch_queue_t)queue
+                              completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeIntrinsicBalanceFactorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                                     NSError * _Nullable error))completionHandler;
+- (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSNumber * _Nullable)value
+                                    completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSNumber * _Nullable)value
+                                               params:(MTRWriteParams * _Nullable)params
+                                    completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeIntrinsicBalanceFactorWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                         params:(MTRSubscribeParams * _Nullable)params
+                                        subscriptionEstablished:
+                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                                  reportHandler:(void (^)(NSNumber * _Nullable value,
+                                                                    NSError * _Nullable error))reportHandler;
++ (void)readAttributeIntrinsicBalanceFactorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                                     endpoint:(NSNumber *)endpoint
+                                                        queue:(dispatch_queue_t)queue
+                                            completionHandler:
+                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeBallastFactorAdjustmentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                                      NSError * _Nullable error))completionHandler;
+- (void)writeAttributeBallastFactorAdjustmentWithValue:(NSNumber * _Nullable)value
+                                     completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeBallastFactorAdjustmentWithValue:(NSNumber * _Nullable)value
+                                                params:(MTRWriteParams * _Nullable)params
+                                     completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeBallastFactorAdjustmentWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                          params:(MTRSubscribeParams * _Nullable)params
+                                         subscriptionEstablished:
+                                             (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                                   reportHandler:(void (^)(NSNumber * _Nullable value,
+                                                                     NSError * _Nullable error))reportHandler;
++ (void)readAttributeBallastFactorAdjustmentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                                      endpoint:(NSNumber *)endpoint
+                                                         queue:(dispatch_queue_t)queue
+                                             completionHandler:
+                                                 (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeLampQuantityWithCompletionHandler:(void (^)(
+                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeLampQuantityWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                          maxInterval:(NSNumber * _Nonnull)maxInterval
+                                               params:(MTRSubscribeParams * _Nullable)params
+                              subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                        reportHandler:
+                                            (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeLampQuantityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                           endpoint:(NSNumber *)endpoint
+                                              queue:(dispatch_queue_t)queue
+                                  completionHandler:
+                                      (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeLampTypeWithCompletionHandler:(void (^)(
+                                                       NSString * _Nullable value, NSError * _Nullable error))completionHandler;
+- (void)writeAttributeLampTypeWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeLampTypeWithValue:(NSString * _Nonnull)value
+                                 params:(MTRWriteParams * _Nullable)params
+                      completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeLampTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                      maxInterval:(NSNumber * _Nonnull)maxInterval
+                                           params:(MTRSubscribeParams * _Nullable)params
+                          subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                    reportHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeLampTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                       endpoint:(NSNumber *)endpoint
+                                          queue:(dispatch_queue_t)queue
+                              completionHandler:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeLampManufacturerWithCompletionHandler:(void (^)(NSString * _Nullable value,
+                                                               NSError * _Nullable error))completionHandler;
+- (void)writeAttributeLampManufacturerWithValue:(NSString * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeLampManufacturerWithValue:(NSString * _Nonnull)value
+                                         params:(MTRWriteParams * _Nullable)params
+                              completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeLampManufacturerWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                              maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                   params:(MTRSubscribeParams * _Nullable)params
+                                  subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                            reportHandler:
+                                                (void (^)(NSString * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeLampManufacturerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                               endpoint:(NSNumber *)endpoint
+                                                  queue:(dispatch_queue_t)queue
+                                      completionHandler:
+                                          (void (^)(NSString * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeLampRatedHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                             NSError * _Nullable error))completionHandler;
+- (void)writeAttributeLampRatedHoursWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeLampRatedHoursWithValue:(NSNumber * _Nullable)value
+                                       params:(MTRWriteParams * _Nullable)params
+                            completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeLampRatedHoursWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                            maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                 params:(MTRSubscribeParams * _Nullable)params
+                                subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                          reportHandler:
+                                              (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeLampRatedHoursWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                             endpoint:(NSNumber *)endpoint
+                                                queue:(dispatch_queue_t)queue
+                                    completionHandler:
+                                        (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeLampBurnHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                            NSError * _Nullable error))completionHandler;
+- (void)writeAttributeLampBurnHoursWithValue:(NSNumber * _Nullable)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeLampBurnHoursWithValue:(NSNumber * _Nullable)value
+                                      params:(MTRWriteParams * _Nullable)params
+                           completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeLampBurnHoursWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                           maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                params:(MTRSubscribeParams * _Nullable)params
+                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                         reportHandler:
+                                             (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeLampBurnHoursWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                            endpoint:(NSNumber *)endpoint
+                                               queue:(dispatch_queue_t)queue
+                                   completionHandler:
+                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeLampAlarmModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                            NSError * _Nullable error))completionHandler;
+- (void)writeAttributeLampAlarmModeWithValue:(NSNumber * _Nonnull)value completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeLampAlarmModeWithValue:(NSNumber * _Nonnull)value
+                                      params:(MTRWriteParams * _Nullable)params
+                           completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeLampAlarmModeWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                           maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                params:(MTRSubscribeParams * _Nullable)params
+                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                         reportHandler:
+                                             (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeLampAlarmModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                            endpoint:(NSNumber *)endpoint
+                                               queue:(dispatch_queue_t)queue
+                                   completionHandler:
+                                       (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeLampBurnHoursTripPointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                                     NSError * _Nullable error))completionHandler;
+- (void)writeAttributeLampBurnHoursTripPointWithValue:(NSNumber * _Nullable)value
+                                    completionHandler:(StatusCompletion)completionHandler;
+- (void)writeAttributeLampBurnHoursTripPointWithValue:(NSNumber * _Nullable)value
+                                               params:(MTRWriteParams * _Nullable)params
+                                    completionHandler:(StatusCompletion)completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeLampBurnHoursTripPointWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                         params:(MTRSubscribeParams * _Nullable)params
+                                        subscriptionEstablished:
+                                            (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                                  reportHandler:(void (^)(NSNumber * _Nullable value,
+                                                                    NSError * _Nullable error))reportHandler;
++ (void)readAttributeLampBurnHoursTripPointWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                                     endpoint:(NSNumber *)endpoint
+                                                        queue:(dispatch_queue_t)queue
+                                            completionHandler:
+                                                (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
+                                                                   NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                       params:(MTRSubscribeParams * _Nullable)params
+                                      subscriptionEstablished:
+                                          (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                                reportHandler:
+                                                    (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                                   endpoint:(NSNumber *)endpoint
+                                                      queue:(dispatch_queue_t)queue
+                                          completionHandler:
+                                              (void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
+                                                                  NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                      params:(MTRSubscribeParams * _Nullable)params
+                                     subscriptionEstablished:
+                                         (SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                               reportHandler:
+                                                   (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                                  endpoint:(NSNumber *)endpoint
+                                                     queue:(dispatch_queue_t)queue
+                                         completionHandler:
+                                             (void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
+                                                            NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                           maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                params:(MTRSubscribeParams * _Nullable)params
+                               subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                         reportHandler:
+                                             (void (^)(NSArray * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                            endpoint:(NSNumber *)endpoint
+                                               queue:(dispatch_queue_t)queue
+                                   completionHandler:
+                                       (void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
+                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                        maxInterval:(NSNumber * _Nonnull)maxInterval
+                                             params:(MTRSubscribeParams * _Nullable)params
+                            subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                      reportHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                         endpoint:(NSNumber *)endpoint
+                                            queue:(dispatch_queue_t)queue
+                                completionHandler:
+                                    (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
+                                                              NSError * _Nullable error))completionHandler;
+/**
+ * This API does not support setting autoResubscribe to NO in the
+ * MTRSubscribeParams.
+ */
+- (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
+                                             maxInterval:(NSNumber * _Nonnull)maxInterval
+                                                  params:(MTRSubscribeParams * _Nullable)params
+                                 subscriptionEstablished:(SubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
+                                           reportHandler:
+                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler;
++ (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
+                                              endpoint:(NSNumber *)endpoint
+                                                 queue:(dispatch_queue_t)queue
+                                     completionHandler:
+                                         (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
  * Cluster Illuminance Measurement
  *
  */
@@ -21674,51 +22065,6 @@
     MTRLevelControlFeatureFrequency = 0x4,
 };
 
-typedef NS_ENUM(uint8_t, MTRApplianceControlApplianceStatus) {
-    MTRApplianceControlApplianceStatusOff = 0x01,
-    MTRApplianceControlApplianceStatusStandBy = 0x02,
-    MTRApplianceControlApplianceStatusProgrammed = 0x03,
-    MTRApplianceControlApplianceStatusProgrammedWaitingToStart = 0x04,
-    MTRApplianceControlApplianceStatusRunning = 0x05,
-    MTRApplianceControlApplianceStatusPause = 0x06,
-    MTRApplianceControlApplianceStatusEndProgrammed = 0x07,
-    MTRApplianceControlApplianceStatusFailure = 0x08,
-    MTRApplianceControlApplianceStatusProgrammeInterrupted = 0x09,
-    MTRApplianceControlApplianceStatusIdle = 0x0A,
-    MTRApplianceControlApplianceStatusRinseHold = 0x0B,
-    MTRApplianceControlApplianceStatusService = 0x0C,
-    MTRApplianceControlApplianceStatusSuperfreezing = 0x0D,
-    MTRApplianceControlApplianceStatusSupercooling = 0x0E,
-    MTRApplianceControlApplianceStatusSuperheating = 0x0F,
-};
-
-typedef NS_ENUM(uint8_t, MTRApplianceControlCommandIdentification) {
-    MTRApplianceControlCommandIdentificationStart = 0x01,
-    MTRApplianceControlCommandIdentificationStop = 0x02,
-    MTRApplianceControlCommandIdentificationPause = 0x03,
-    MTRApplianceControlCommandIdentificationStartSuperfreezing = 0x04,
-    MTRApplianceControlCommandIdentificationStopSuperfreezing = 0x05,
-    MTRApplianceControlCommandIdentificationStartSupercooling = 0x06,
-    MTRApplianceControlCommandIdentificationStopSupercooling = 0x07,
-    MTRApplianceControlCommandIdentificationDisableGas = 0x08,
-    MTRApplianceControlCommandIdentificationEnableGas = 0x09,
-    MTRApplianceControlCommandIdentificationEnableEnergyControl = 0x0A,
-    MTRApplianceControlCommandIdentificationDisableEnergyControl = 0x0B,
-};
-
-typedef NS_ENUM(uint8_t, MTRApplianceControlWarningEvent) {
-    MTRApplianceControlWarningEventWarning1OverallPowerAboveAvailablePowerLevel = 0x00,
-    MTRApplianceControlWarningEventWarning2OverallPowerAbovePowerThresholdLevel = 0x01,
-    MTRApplianceControlWarningEventWarning3OverallPowerBackBelowTheAvailablePowerLevel = 0x02,
-    MTRApplianceControlWarningEventWarning4OverallPowerBackBelowThePowerThresholdLevel = 0x03,
-    MTRApplianceControlWarningEventWarning5OverallPowerWillBePotentiallyAboveAvailablePowerLevelIfTheApplianceStarts = 0x04,
-};
-
-typedef NS_OPTIONS(uint8_t, MTRApplianceControlRemoteEnableFlagsAndDeviceStatus2) {
-    MTRApplianceControlRemoteEnableFlagsAndDeviceStatus2RemoteEnableFlags = 0xF,
-    MTRApplianceControlRemoteEnableFlagsAndDeviceStatus2DeviceStatus2Structure = 0xF0,
-};
-
 typedef NS_ENUM(uint8_t, MTRAccessControlAuthMode) {
     MTRAccessControlAuthModePASE = 0x01,
     MTRAccessControlAuthModeCASE = 0x02,
@@ -21739,47 +22085,47 @@
     MTRAccessControlPrivilegeAdminister = 0x05,
 };
 
-typedef NS_ENUM(uint8_t, MTRBridgedActionsActionError) {
-    MTRBridgedActionsActionErrorUnknown = 0x00,
-    MTRBridgedActionsActionErrorInterrupted = 0x01,
-};
-
-typedef NS_ENUM(uint8_t, MTRBridgedActionsActionState) {
-    MTRBridgedActionsActionStateInactive = 0x00,
-    MTRBridgedActionsActionStateActive = 0x01,
-    MTRBridgedActionsActionStatePaused = 0x02,
-    MTRBridgedActionsActionStateDisabled = 0x03,
-};
-
-typedef NS_ENUM(uint8_t, MTRBridgedActionsActionType) {
-    MTRBridgedActionsActionTypeOther = 0x00,
-    MTRBridgedActionsActionTypeScene = 0x01,
-    MTRBridgedActionsActionTypeSequence = 0x02,
-    MTRBridgedActionsActionTypeAutomation = 0x03,
-    MTRBridgedActionsActionTypeException = 0x04,
-    MTRBridgedActionsActionTypeNotification = 0x05,
-    MTRBridgedActionsActionTypeAlarm = 0x06,
-};
-
-typedef NS_ENUM(uint8_t, MTRBridgedActionsEndpointListType) {
-    MTRBridgedActionsEndpointListTypeOther = 0x00,
-    MTRBridgedActionsEndpointListTypeRoom = 0x01,
-    MTRBridgedActionsEndpointListTypeZone = 0x02,
-};
-
-typedef NS_OPTIONS(uint16_t, MTRBridgedActionsCommandBits) {
-    MTRBridgedActionsCommandBitsInstantAction = 0x1,
-    MTRBridgedActionsCommandBitsInstantActionWithTransition = 0x2,
-    MTRBridgedActionsCommandBitsStartAction = 0x4,
-    MTRBridgedActionsCommandBitsStartActionWithDuration = 0x8,
-    MTRBridgedActionsCommandBitsStopAction = 0x10,
-    MTRBridgedActionsCommandBitsPauseAction = 0x20,
-    MTRBridgedActionsCommandBitsPauseActionWithDuration = 0x40,
-    MTRBridgedActionsCommandBitsResumeAction = 0x80,
-    MTRBridgedActionsCommandBitsEnableAction = 0x100,
-    MTRBridgedActionsCommandBitsEnableActionWithDuration = 0x200,
-    MTRBridgedActionsCommandBitsDisableAction = 0x400,
-    MTRBridgedActionsCommandBitsDisableActionWithDuration = 0x800,
+typedef NS_ENUM(uint8_t, MTRActionsActionError) {
+    MTRActionsActionErrorUnknown = 0x00,
+    MTRActionsActionErrorInterrupted = 0x01,
+};
+
+typedef NS_ENUM(uint8_t, MTRActionsActionState) {
+    MTRActionsActionStateInactive = 0x00,
+    MTRActionsActionStateActive = 0x01,
+    MTRActionsActionStatePaused = 0x02,
+    MTRActionsActionStateDisabled = 0x03,
+};
+
+typedef NS_ENUM(uint8_t, MTRActionsActionType) {
+    MTRActionsActionTypeOther = 0x00,
+    MTRActionsActionTypeScene = 0x01,
+    MTRActionsActionTypeSequence = 0x02,
+    MTRActionsActionTypeAutomation = 0x03,
+    MTRActionsActionTypeException = 0x04,
+    MTRActionsActionTypeNotification = 0x05,
+    MTRActionsActionTypeAlarm = 0x06,
+};
+
+typedef NS_ENUM(uint8_t, MTRActionsEndpointListType) {
+    MTRActionsEndpointListTypeOther = 0x00,
+    MTRActionsEndpointListTypeRoom = 0x01,
+    MTRActionsEndpointListTypeZone = 0x02,
+};
+
+typedef NS_OPTIONS(uint16_t, MTRActionsCommandBits) {
+    MTRActionsCommandBitsInstantAction = 0x1,
+    MTRActionsCommandBitsInstantActionWithTransition = 0x2,
+    MTRActionsCommandBitsStartAction = 0x4,
+    MTRActionsCommandBitsStartActionWithDuration = 0x8,
+    MTRActionsCommandBitsStopAction = 0x10,
+    MTRActionsCommandBitsPauseAction = 0x20,
+    MTRActionsCommandBitsPauseActionWithDuration = 0x40,
+    MTRActionsCommandBitsResumeAction = 0x80,
+    MTRActionsCommandBitsEnableAction = 0x100,
+    MTRActionsCommandBitsEnableActionWithDuration = 0x200,
+    MTRActionsCommandBitsDisableAction = 0x400,
+    MTRActionsCommandBitsDisableActionWithDuration = 0x800,
 };
 
 typedef NS_ENUM(uint8_t, MTROtaSoftwareUpdateProviderOTAApplyUpdateAction) {
@@ -22119,6 +22465,34 @@
     MTREthernetNetworkDiagnosticsPHYRateType400G = 0x09,
 };
 
+typedef NS_ENUM(uint8_t, MTRTimeSynchronizationGranularity) {
+    MTRTimeSynchronizationGranularityNoTimeGranularity = 0x00,
+    MTRTimeSynchronizationGranularityMinutesGranularity = 0x01,
+    MTRTimeSynchronizationGranularitySecondsGranularity = 0x02,
+    MTRTimeSynchronizationGranularityMillisecondsGranularity = 0x03,
+    MTRTimeSynchronizationGranularityMicrosecondsGranularity = 0x04,
+};
+
+typedef NS_ENUM(uint8_t, MTRTimeSynchronizationTimeSource) {
+    MTRTimeSynchronizationTimeSourceNone = 0x00,
+    MTRTimeSynchronizationTimeSourceUnknown = 0x01,
+    MTRTimeSynchronizationTimeSourceAdmin = 0x02,
+    MTRTimeSynchronizationTimeSourceNodeTimeCluster = 0x03,
+    MTRTimeSynchronizationTimeSourceNonFabricSntp = 0x04,
+    MTRTimeSynchronizationTimeSourceNonFabricNtp = 0x05,
+    MTRTimeSynchronizationTimeSourceFabricSntp = 0x06,
+    MTRTimeSynchronizationTimeSourceFabricNtp = 0x07,
+    MTRTimeSynchronizationTimeSourceMixedNtp = 0x08,
+    MTRTimeSynchronizationTimeSourceNonFabricSntpNts = 0x09,
+    MTRTimeSynchronizationTimeSourceNonFabricNtpNts = 0x0A,
+    MTRTimeSynchronizationTimeSourceFabricSntpNts = 0x0B,
+    MTRTimeSynchronizationTimeSourceFabricNtpNts = 0x0C,
+    MTRTimeSynchronizationTimeSourceMixedNtpNts = 0x0D,
+    MTRTimeSynchronizationTimeSourceCloudSource = 0x0E,
+    MTRTimeSynchronizationTimeSourcePtp = 0x0F,
+    MTRTimeSynchronizationTimeSourceGnss = 0x10,
+};
+
 typedef NS_ENUM(uint8_t, MTRAdministratorCommissioningCommissioningWindowStatus) {
     MTRAdministratorCommissioningCommissioningWindowStatusWindowNotOpen = 0x00,
     MTRAdministratorCommissioningCommissioningWindowStatusEnhancedWindowOpen = 0x01,
@@ -22126,9 +22500,9 @@
 };
 
 typedef NS_ENUM(uint8_t, MTRAdministratorCommissioningStatusCode) {
-    MTRAdministratorCommissioningStatusCodeBusy = 0x01,
-    MTRAdministratorCommissioningStatusCodePAKEParameterError = 0x02,
-    MTRAdministratorCommissioningStatusCodeWindowNotOpen = 0x03,
+    MTRAdministratorCommissioningStatusCodeBusy = 0x02,
+    MTRAdministratorCommissioningStatusCodePAKEParameterError = 0x03,
+    MTRAdministratorCommissioningStatusCodeWindowNotOpen = 0x04,
 };
 
 typedef NS_ENUM(uint8_t, MTROperationalCredentialsOperationalCertStatus) {
@@ -22139,7 +22513,6 @@
     MTROperationalCredentialsOperationalCertStatusMissingCsr = 0x04,
     MTROperationalCredentialsOperationalCertStatusTableFull = 0x05,
     MTROperationalCredentialsOperationalCertStatusInvalidAdminSubject = 0x06,
-    MTROperationalCredentialsOperationalCertStatusInsufficientPrivilege = 0x08,
     MTROperationalCredentialsOperationalCertStatusFabricConflict = 0x09,
     MTROperationalCredentialsOperationalCertStatusLabelConflict = 0x0A,
     MTROperationalCredentialsOperationalCertStatusInvalidFabricIndex = 0x0B,
@@ -22473,12 +22846,14 @@
     MTRDoorLockFeatureRFIDCredentials = 0x2,
     MTRDoorLockFeatureFingerCredentials = 0x4,
     MTRDoorLockFeatureLogging = 0x8,
-    MTRDoorLockFeatureAccessSchedules = 0x10,
+    MTRDoorLockFeatureWeekDaySchedules = 0x10,
     MTRDoorLockFeatureDoorPositionSensor = 0x20,
     MTRDoorLockFeatureFaceCredentials = 0x40,
     MTRDoorLockFeatureCredentialsOTA = 0x80,
     MTRDoorLockFeatureUsersManagement = 0x100,
     MTRDoorLockFeatureNotifications = 0x200,
+    MTRDoorLockFeatureYearDaySchedules = 0x400,
+    MTRDoorLockFeatureHolidaySchedules = 0x800,
 };
 
 typedef NS_ENUM(uint8_t, MTRWindowCoveringEndProductType) {
@@ -22997,149 +23372,6 @@
     MTRApplicationBasicApplicationStatusActiveVisibleNotFocus = 0x03,
 };
 
-typedef NS_ENUM(uint8_t, MTRMessagingEventId) {
-    MTRMessagingEventIdMeterCoverRemoved = 0x00,
-    MTRMessagingEventIdMeterCoverClosed = 0x01,
-    MTRMessagingEventIdStrongMagneticField = 0x02,
-    MTRMessagingEventIdNoStrongMagneticField = 0x03,
-    MTRMessagingEventIdBatteryFailure = 0x04,
-    MTRMessagingEventIdLowBattery = 0x05,
-    MTRMessagingEventIdProgramMemoryError = 0x06,
-    MTRMessagingEventIdRamError = 0x07,
-    MTRMessagingEventIdNvMemoryError = 0x08,
-    MTRMessagingEventIdMeasurementSystemError = 0x09,
-    MTRMessagingEventIdWatchdogError = 0x0A,
-    MTRMessagingEventIdSupplyDisconnectFailure = 0x0B,
-    MTRMessagingEventIdSupplyConnectFailure = 0x0C,
-    MTRMessagingEventIdMeasurmentSoftwareChanged = 0x0D,
-    MTRMessagingEventIdDstEnabled = 0x0E,
-    MTRMessagingEventIdDstDisabled = 0x0F,
-    MTRMessagingEventIdClockAdjBackward = 0x10,
-    MTRMessagingEventIdClockAdjForward = 0x11,
-    MTRMessagingEventIdClockInvalid = 0x12,
-    MTRMessagingEventIdCommsErrorHan = 0x13,
-    MTRMessagingEventIdCommsOkHan = 0x14,
-    MTRMessagingEventIdFraudAttempt = 0x15,
-    MTRMessagingEventIdPowerLoss = 0x16,
-    MTRMessagingEventIdIncorrectProtocol = 0x17,
-    MTRMessagingEventIdUnusualHanTraffic = 0x18,
-    MTRMessagingEventIdUnexpectedClockChange = 0x19,
-    MTRMessagingEventIdCommsUsingUnauthenticatedComponent = 0x1A,
-    MTRMessagingEventIdErrorRegClear = 0x1B,
-    MTRMessagingEventIdAlarmRegClear = 0x1C,
-    MTRMessagingEventIdUnexpectedHwReset = 0x1D,
-    MTRMessagingEventIdUnexpectedProgramExecution = 0x1E,
-    MTRMessagingEventIdEventLogCleared = 0x1F,
-    MTRMessagingEventIdManualDisconnect = 0x20,
-    MTRMessagingEventIdManualConnect = 0x21,
-    MTRMessagingEventIdRemoteDisconnection = 0x22,
-    MTRMessagingEventIdLocalDisconnection = 0x23,
-    MTRMessagingEventIdLimitThresholdExceeded = 0x24,
-    MTRMessagingEventIdLimitThresholdOk = 0x25,
-    MTRMessagingEventIdLimitThresholdChanged = 0x26,
-    MTRMessagingEventIdMaximumDemandExceeded = 0x27,
-    MTRMessagingEventIdProfileCleared = 0x28,
-    MTRMessagingEventIdFirmwareReadyForActivation = 0x29,
-    MTRMessagingEventIdFirmwareActivated = 0x2A,
-    MTRMessagingEventIdPatchFailure = 0x2B,
-    MTRMessagingEventIdTouTariffActivation = 0x2C,
-    MTRMessagingEventId8x8Tariffactivated = 0x2D,
-    MTRMessagingEventIdSingleTariffRateActivated = 0x2E,
-    MTRMessagingEventIdAsynchronousBillingOccurred = 0x2F,
-    MTRMessagingEventIdSynchronousBillingOccurred = 0x30,
-    MTRMessagingEventIdIncorrectPolarity = 0x80,
-    MTRMessagingEventIdCurrentNoVoltage = 0x81,
-    MTRMessagingEventIdUnderVoltage = 0x82,
-    MTRMessagingEventIdOverVoltage = 0x83,
-    MTRMessagingEventIdNormalVoltage = 0x84,
-    MTRMessagingEventIdPfBelowThreshold = 0x85,
-    MTRMessagingEventIdPfAboveThreshold = 0x86,
-    MTRMessagingEventIdTerminalCoverRemoved = 0x87,
-    MTRMessagingEventIdTerminalCoverClosed = 0x88,
-    MTRMessagingEventIdReverseFlow = 0xA0,
-    MTRMessagingEventIdTiltTamper = 0xA1,
-    MTRMessagingEventIdBatteryCoverRemoved = 0xA2,
-    MTRMessagingEventIdBatteryCoverClosed = 0xA3,
-    MTRMessagingEventIdExcessFlow = 0xA4,
-    MTRMessagingEventIdCreditOk = 0xC0,
-    MTRMessagingEventIdLowCredit = 0xC1,
-    MTRMessagingEventIdEmergencyCreditInUse = 0xC0,
-    MTRMessagingEventIdEmergencyCreditExhausted = 0xC1,
-    MTRMessagingEventIdZeroCreditEcNotSelected = 0xC2,
-    MTRMessagingEventIdSupplyOn = 0xC3,
-    MTRMessagingEventIdSupplyOffAarmed = 0xC4,
-    MTRMessagingEventIdSupplyOff = 0xC5,
-    MTRMessagingEventIdDiscountApplied = 0xC6,
-    MTRMessagingEventIdManufacturerSpecificA = 0xE0,
-    MTRMessagingEventIdManufacturerSpecificB = 0xE1,
-    MTRMessagingEventIdManufacturerSpecificC = 0xE2,
-    MTRMessagingEventIdManufacturerSpecificD = 0xE3,
-    MTRMessagingEventIdManufacturerSpecificE = 0xE4,
-    MTRMessagingEventIdManufacturerSpecificF = 0xE5,
-    MTRMessagingEventIdManufacturerSpecificG = 0xE6,
-    MTRMessagingEventIdManufacturerSpecificH = 0xE7,
-    MTRMessagingEventIdManufacturerSpecificI = 0xE8,
-};
-
-typedef NS_ENUM(uint8_t, MTRMessagingControlConfirmation) {
-    MTRMessagingControlConfirmationNotRequired = 0x00,
-    MTRMessagingControlConfirmationRequired = 0x80,
-};
-
-typedef NS_ENUM(uint8_t, MTRMessagingControlEnhancedConfirmation) {
-    MTRMessagingControlEnhancedConfirmationNotRequired = 0x00,
-    MTRMessagingControlEnhancedConfirmationRequired = 0x20,
-};
-
-typedef NS_ENUM(uint8_t, MTRMessagingControlImportance) {
-    MTRMessagingControlImportanceLow = 0x00,
-    MTRMessagingControlImportanceMedium = 0x04,
-    MTRMessagingControlImportanceHigh = 0x08,
-    MTRMessagingControlImportanceCritical = 0x0C,
-};
-
-typedef NS_ENUM(uint8_t, MTRMessagingControlTransmission) {
-    MTRMessagingControlTransmissionNormal = 0x00,
-    MTRMessagingControlTransmissionNormalAndAnonymous = 0x01,
-    MTRMessagingControlTransmissionAnonymous = 0x02,
-    MTRMessagingControlTransmissionReserved = 0x03,
-};
-
-typedef NS_OPTIONS(uint8_t, MTRMessagingConfirmationControl) {
-    MTRMessagingConfirmationControlNoReturned = 0x1,
-    MTRMessagingConfirmationControlYesReturned = 0x2,
-};
-
-typedef NS_OPTIONS(uint8_t, MTRMessagingControlMask) {
-    MTRMessagingControlMaskTransMechanism = 0x3,
-    MTRMessagingControlMaskMessageUrgency = 0xC,
-    MTRMessagingControlMaskEnhancedConfirmationRequest = 0x20,
-    MTRMessagingControlMaskMessageConfirmation = 0x80,
-};
-
-typedef NS_OPTIONS(uint8_t, MTRMessagingExtendedControlMask) {
-    MTRMessagingExtendedControlMaskMessageConfirmationStatus = 0x1,
-};
-
-typedef NS_ENUM(uint8_t, MTRApplianceEventsAndAlertEventIdentification) {
-    MTRApplianceEventsAndAlertEventIdentificationEndOfCycle = 0x01,
-    MTRApplianceEventsAndAlertEventIdentificationTemperatureReached = 0x04,
-    MTRApplianceEventsAndAlertEventIdentificationEndOfCooking = 0x05,
-    MTRApplianceEventsAndAlertEventIdentificationSwitchingOff = 0x06,
-    MTRApplianceEventsAndAlertEventIdentificationWrongData = 0x07,
-};
-
-typedef NS_OPTIONS(uint8_t, MTRApplianceEventsAndAlertAlertCount) {
-    MTRApplianceEventsAndAlertAlertCountNumberOfAlerts = 0xF,
-    MTRApplianceEventsAndAlertAlertCountTypeOfAlert = 0xF0,
-};
-
-typedef NS_OPTIONS(uint32_t, MTRApplianceEventsAndAlertAlertStructure) {
-    MTRApplianceEventsAndAlertAlertStructureAlertId = 0xFF,
-    MTRApplianceEventsAndAlertAlertStructureCategory = 0xF00,
-    MTRApplianceEventsAndAlertAlertStructurePresenceRecovery = 0x3000,
-};
-
 typedef NS_ENUM(uint8_t, MTRTestClusterSimple) {
     MTRTestClusterSimpleUnspecified = 0x00,
     MTRTestClusterSimpleValueA = 0x01,
diff -ruN /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseDevice.h /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseDevice.h
--- /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseDevice.h	2022-08-01 11:45:07.000000000 -0400
+++ /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRBaseDevice.h	2022-09-07 23:55:48.000000000 -0400
@@ -30,6 +30,7 @@
  *
  *                MTRAttributePathKey : MTRAttributePath object. Included for attribute value.
  *                MTRCommandPathKey : MTRCommandPath object. Included for command response.
+ *                MTREventPathKey : MTREventPath object. Included for event value.
  *                MTRErrorKey : NSError object. Included to indicate an error.
  *                MTRDataKey: Data-value NSDictionary object.
  *                              Included when there is data and when there is no error.
@@ -68,8 +69,17 @@
  */
 typedef void (^MTRDeviceResponseHandler)(NSArray<NSDictionary<NSString *, id> *> * _Nullable values, NSError * _Nullable error);
 
+/**
+ * Handler for -subscribeWithQueue: attribute and event reports
+ *
+ * @param values This array contains MTRAttributeReport objects for attribute reports, and MTREventReport objects for event reports
+ */
+typedef void (^MTRDeviceReportHandler)(NSArray * values);
+typedef void (^MTRDeviceErrorHandler)(NSError * error);
+
 extern NSString * const MTRAttributePathKey;
 extern NSString * const MTRCommandPathKey;
+extern NSString * const MTREventPathKey;
 extern NSString * const MTRDataKey;
 extern NSString * const MTRErrorKey;
 extern NSString * const MTRTypeKey;
@@ -129,12 +139,12 @@
 - (void)subscribeWithQueue:(dispatch_queue_t)queue
                 minInterval:(uint16_t)minInterval
                 maxInterval:(uint16_t)maxInterval
-                     params:(nullable MTRSubscribeParams *)params
+                     params:(MTRSubscribeParams * _Nullable)params
              cacheContainer:(MTRAttributeCacheContainer * _Nullable)attributeCacheContainer
-     attributeReportHandler:(nullable void (^)(NSArray * value))attributeReportHandler
-         eventReportHandler:(nullable void (^)(NSArray * value))eventReportHandler
-               errorHandler:(void (^)(NSError * error))errorHandler
-    subscriptionEstablished:(nullable void (^)(void))subscriptionEstablishedHandler;
+     attributeReportHandler:(MTRDeviceReportHandler _Nullable)attributeReportHandler
+         eventReportHandler:(MTRDeviceReportHandler _Nullable)eventReportHandler
+               errorHandler:(MTRDeviceErrorHandler)errorHandler
+    subscriptionEstablished:(dispatch_block_t _Nullable)subscriptionEstablishedHandler;
 
 /**
  * Read attribute in a designated attribute path
@@ -211,7 +221,7 @@
 
 @end
 
-@interface MTRAttributePath : NSObject
+@interface MTRAttributePath : NSObject <NSCopying>
 @property (nonatomic, readonly, strong, nonnull) NSNumber * endpoint;
 @property (nonatomic, readonly, strong, nonnull) NSNumber * cluster;
 @property (nonatomic, readonly, strong, nonnull) NSNumber * attribute;
diff -ruN /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCluster.h /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCluster.h
--- /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCluster.h	2022-08-03 19:10:50.000000000 -0400
+++ /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCluster.h	2022-09-08 00:03:00.000000000 -0400
@@ -17,6 +17,10 @@
 
 #import <Foundation/Foundation.h>
 
+typedef void (^ResponseHandler)(id _Nullable value, NSError * _Nullable error);
+typedef void (^StatusCompletion)(NSError * _Nullable error);
+typedef void (^SubscriptionEstablishedHandler)(void);
+
 @class MTRBaseDevice;
 
 NS_ASSUME_NONNULL_BEGIN
@@ -31,12 +35,12 @@
 @end
 
 /**
- * CHIPWriteParams
+ * MTRWriteParams
  *    This is used to control the behavior of cluster writes.
  *    If not provided (i.e. nil passed for the CHIPWriteParams argument), will be
  *    treated as if a default-initialized object was passed in.
  */
-@interface MTRWriteParams : NSObject
+@interface MTRWriteParams : NSObject <NSCopying>
 
 /**
  * Controls whether the write is a timed write.
@@ -54,7 +58,7 @@
  * This value is specified in milliseconds
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedWriteTimeout;
+@property (nonatomic, copy, nullable) NSNumber * timedWriteTimeout;
 
 /**
  * Sets the data version for the Write Request for the interaction.
@@ -62,9 +66,10 @@
  * If not nil, the write will only succeed if the current data version of
  * the cluster matches the provided data version.
  */
-@property (strong, nonatomic, nullable) NSNumber * dataVersion;
+@property (nonatomic, copy, nullable) NSNumber * dataVersion;
 
 - (instancetype)init;
+- (id)copyWithZone:(nullable NSZone *)zone;
 
 @end
 
@@ -74,7 +79,7 @@
  *    If not provided (i.e. nil passed for the MTRReadParams argument), will be
  *    treated as if a default-initialized object was passed in.
  */
-@interface MTRReadParams : NSObject
+@interface MTRReadParams : NSObject <NSCopying>
 
 /**
  * Whether the read/subscribe is fabric-filtered. nil (the default value) is
@@ -86,9 +91,10 @@
  * If NO, the read/subscribe is not fabric-filtered and will see all
  * non-fabric-sensitive data for the given attribute path.
  */
-@property (strong, nonatomic, nullable) NSNumber * fabricFiltered;
+@property (nonatomic, copy, nullable) NSNumber * fabricFiltered;
 
 - (instancetype)init;
+- (id)copyWithZone:(nullable NSZone *)zone;
 
 @end
 
@@ -109,7 +115,7 @@
  *
  * If YES, the subscribe will allow any previous subscriptions to remain.
  */
-@property (strong, nonatomic, nullable) NSNumber * keepPreviousSubscriptions;
+@property (nonatomic, copy, nullable) NSNumber * keepPreviousSubscriptions;
 
 /**
  * Whether the subscription should automatically try to re-establish if it
@@ -123,9 +129,10 @@
  * called again.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * autoResubscribe;
+@property (nonatomic, copy, nullable) NSNumber * autoResubscribe;
 
 - (instancetype)init;
+- (id)copyWithZone:(nullable NSZone *)zone;
 
 @end
 
diff -ruN /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h
--- /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h	2022-08-03 19:10:50.000000000 -0400
+++ /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusterConstants.h	2022-09-08 00:02:59.000000000 -0400
@@ -23,25 +23,18 @@
 #pragma mark - Clusters IDs
 
 typedef NS_ENUM(uint32_t, MTRClusterIDType) {
-    MTRClusterPowerConfigurationID = 0x00000001,
-    MTRClusterDeviceTemperatureConfigurationID = 0x00000002,
     MTRClusterIdentifyID = 0x00000003,
     MTRClusterGroupsID = 0x00000004,
     MTRClusterScenesID = 0x00000005,
     MTRClusterOnOffID = 0x00000006,
     MTRClusterOnOffSwitchConfigurationID = 0x00000007,
     MTRClusterLevelControlID = 0x00000008,
-    MTRClusterAlarmsID = 0x00000009,
-    MTRClusterTimeID = 0x0000000A,
     MTRClusterBinaryInputBasicID = 0x0000000F,
-    MTRClusterPowerProfileID = 0x0000001A,
-    MTRClusterApplianceControlID = 0x0000001B,
     MTRClusterPulseWidthModulationID = 0x0000001C,
     MTRClusterDescriptorID = 0x0000001D,
     MTRClusterBindingID = 0x0000001E,
     MTRClusterAccessControlID = 0x0000001F,
-    MTRClusterPollControlID = 0x00000020,
-    MTRClusterBridgedActionsID = 0x00000025,
+    MTRClusterActionsID = 0x00000025,
     MTRClusterBasicID = 0x00000028,
     MTRClusterOtaSoftwareUpdateProviderID = 0x00000029,
     MTRClusterOtaSoftwareUpdateRequestorID = 0x0000002A,
@@ -71,14 +64,12 @@
     MTRClusterProxyValidID = 0x00000044,
     MTRClusterBooleanStateID = 0x00000045,
     MTRClusterModeSelectID = 0x00000050,
-    MTRClusterShadeConfigurationID = 0x00000100,
     MTRClusterDoorLockID = 0x00000101,
     MTRClusterWindowCoveringID = 0x00000102,
     MTRClusterBarrierControlID = 0x00000103,
     MTRClusterPumpConfigurationAndControlID = 0x00000200,
     MTRClusterThermostatID = 0x00000201,
     MTRClusterFanControlID = 0x00000202,
-    MTRClusterDehumidificationControlID = 0x00000203,
     MTRClusterThermostatUserInterfaceConfigurationID = 0x00000204,
     MTRClusterColorControlID = 0x00000300,
     MTRClusterBallastConfigurationID = 0x00000301,
@@ -88,36 +79,6 @@
     MTRClusterFlowMeasurementID = 0x00000404,
     MTRClusterRelativeHumidityMeasurementID = 0x00000405,
     MTRClusterOccupancySensingID = 0x00000406,
-    MTRClusterCarbonMonoxideConcentrationMeasurementID = 0x0000040C,
-    MTRClusterCarbonDioxideConcentrationMeasurementID = 0x0000040D,
-    MTRClusterEthyleneConcentrationMeasurementID = 0x0000040E,
-    MTRClusterEthyleneOxideConcentrationMeasurementID = 0x0000040F,
-    MTRClusterHydrogenConcentrationMeasurementID = 0x00000410,
-    MTRClusterHydrogenSulphideConcentrationMeasurementID = 0x00000411,
-    MTRClusterNitricOxideConcentrationMeasurementID = 0x00000412,
-    MTRClusterNitrogenDioxideConcentrationMeasurementID = 0x00000413,
-    MTRClusterOxygenConcentrationMeasurementID = 0x00000414,
-    MTRClusterOzoneConcentrationMeasurementID = 0x00000415,
-    MTRClusterSulfurDioxideConcentrationMeasurementID = 0x00000416,
-    MTRClusterDissolvedOxygenConcentrationMeasurementID = 0x00000417,
-    MTRClusterBromateConcentrationMeasurementID = 0x00000418,
-    MTRClusterChloraminesConcentrationMeasurementID = 0x00000419,
-    MTRClusterChlorineConcentrationMeasurementID = 0x0000041A,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementID = 0x0000041B,
-    MTRClusterFluorideConcentrationMeasurementID = 0x0000041C,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementID = 0x0000041D,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementID = 0x0000041E,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementID = 0x0000041F,
-    MTRClusterTurbidityConcentrationMeasurementID = 0x00000420,
-    MTRClusterCopperConcentrationMeasurementID = 0x00000421,
-    MTRClusterLeadConcentrationMeasurementID = 0x00000422,
-    MTRClusterManganeseConcentrationMeasurementID = 0x00000423,
-    MTRClusterSulfateConcentrationMeasurementID = 0x00000424,
-    MTRClusterBromodichloromethaneConcentrationMeasurementID = 0x00000425,
-    MTRClusterBromoformConcentrationMeasurementID = 0x00000426,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementID = 0x00000427,
-    MTRClusterChloroformConcentrationMeasurementID = 0x00000428,
-    MTRClusterSodiumConcentrationMeasurementID = 0x00000429,
     MTRClusterWakeOnLanID = 0x00000503,
     MTRClusterChannelID = 0x00000504,
     MTRClusterTargetNavigatorID = 0x00000505,
@@ -130,11 +91,6 @@
     MTRClusterApplicationLauncherID = 0x0000050C,
     MTRClusterApplicationBasicID = 0x0000050D,
     MTRClusterAccountLoginID = 0x0000050E,
-    MTRClusterMessagingID = 0x00000703,
-    MTRClusterApplianceIdentificationID = 0x00000B00,
-    MTRClusterMeterIdentificationID = 0x00000B01,
-    MTRClusterApplianceEventsAndAlertID = 0x00000B02,
-    MTRClusterApplianceStatisticsID = 0x00000B03,
     MTRClusterElectricalMeasurementID = 0x00000B04,
     MTRClusterTestClusterID = 0xFFF1FC05,
 };
@@ -149,86 +105,6 @@
     MTRClusterGlobalAttributeFeatureMapID = 0x0000FFFC,
     MTRClusterGlobalAttributeClusterRevisionID = 0x0000FFFD,
 
-    // Cluster PowerConfiguration attributes
-    MTRClusterPowerConfigurationAttributeMainsVoltageID = 0x00000000,
-    MTRClusterPowerConfigurationAttributeMainsFrequencyID = 0x00000001,
-    MTRClusterPowerConfigurationAttributeMainsAlarmMaskID = 0x00000010,
-    MTRClusterPowerConfigurationAttributeMainsVoltageMinThresholdID = 0x00000011,
-    MTRClusterPowerConfigurationAttributeMainsVoltageMaxThresholdID = 0x00000012,
-    MTRClusterPowerConfigurationAttributeMainsVoltageDwellTripID = 0x00000013,
-    MTRClusterPowerConfigurationAttributeBatteryVoltageID = 0x00000020,
-    MTRClusterPowerConfigurationAttributeBatteryPercentageRemainingID = 0x00000021,
-    MTRClusterPowerConfigurationAttributeBatteryManufacturerID = 0x00000030,
-    MTRClusterPowerConfigurationAttributeBatterySizeID = 0x00000031,
-    MTRClusterPowerConfigurationAttributeBatteryAhrRatingID = 0x00000032,
-    MTRClusterPowerConfigurationAttributeBatteryQuantityID = 0x00000033,
-    MTRClusterPowerConfigurationAttributeBatteryRatedVoltageID = 0x00000034,
-    MTRClusterPowerConfigurationAttributeBatteryAlarmMaskID = 0x00000035,
-    MTRClusterPowerConfigurationAttributeBatteryVoltageMinThresholdID = 0x00000036,
-    MTRClusterPowerConfigurationAttributeBatteryVoltageThreshold1ID = 0x00000037,
-    MTRClusterPowerConfigurationAttributeBatteryVoltageThreshold2ID = 0x00000038,
-    MTRClusterPowerConfigurationAttributeBatteryVoltageThreshold3ID = 0x00000039,
-    MTRClusterPowerConfigurationAttributeBatteryPercentageMinThresholdID = 0x0000003A,
-    MTRClusterPowerConfigurationAttributeBatteryPercentageThreshold1ID = 0x0000003B,
-    MTRClusterPowerConfigurationAttributeBatteryPercentageThreshold2ID = 0x0000003C,
-    MTRClusterPowerConfigurationAttributeBatteryPercentageThreshold3ID = 0x0000003D,
-    MTRClusterPowerConfigurationAttributeBatteryAlarmStateID = 0x0000003E,
-    MTRClusterPowerConfigurationAttributeBattery2VoltageID = 0x00000040,
-    MTRClusterPowerConfigurationAttributeBattery2PercentageRemainingID = 0x00000041,
-    MTRClusterPowerConfigurationAttributeBattery2ManufacturerID = 0x00000050,
-    MTRClusterPowerConfigurationAttributeBattery2SizeID = 0x00000051,
-    MTRClusterPowerConfigurationAttributeBattery2AhrRatingID = 0x00000052,
-    MTRClusterPowerConfigurationAttributeBattery2QuantityID = 0x00000053,
-    MTRClusterPowerConfigurationAttributeBattery2RatedVoltageID = 0x00000054,
-    MTRClusterPowerConfigurationAttributeBattery2AlarmMaskID = 0x00000055,
-    MTRClusterPowerConfigurationAttributeBattery2VoltageMinThresholdID = 0x00000056,
-    MTRClusterPowerConfigurationAttributeBattery2VoltageThreshold1ID = 0x00000057,
-    MTRClusterPowerConfigurationAttributeBattery2VoltageThreshold2ID = 0x00000058,
-    MTRClusterPowerConfigurationAttributeBattery2VoltageThreshold3ID = 0x00000059,
-    MTRClusterPowerConfigurationAttributeBattery2PercentageMinThresholdID = 0x0000005A,
-    MTRClusterPowerConfigurationAttributeBattery2PercentageThreshold1ID = 0x0000005B,
-    MTRClusterPowerConfigurationAttributeBattery2PercentageThreshold2ID = 0x0000005C,
-    MTRClusterPowerConfigurationAttributeBattery2PercentageThreshold3ID = 0x0000005D,
-    MTRClusterPowerConfigurationAttributeBattery2AlarmStateID = 0x0000005E,
-    MTRClusterPowerConfigurationAttributeBattery3VoltageID = 0x00000060,
-    MTRClusterPowerConfigurationAttributeBattery3PercentageRemainingID = 0x00000061,
-    MTRClusterPowerConfigurationAttributeBattery3ManufacturerID = 0x00000070,
-    MTRClusterPowerConfigurationAttributeBattery3SizeID = 0x00000071,
-    MTRClusterPowerConfigurationAttributeBattery3AhrRatingID = 0x00000072,
-    MTRClusterPowerConfigurationAttributeBattery3QuantityID = 0x00000073,
-    MTRClusterPowerConfigurationAttributeBattery3RatedVoltageID = 0x00000074,
-    MTRClusterPowerConfigurationAttributeBattery3AlarmMaskID = 0x00000075,
-    MTRClusterPowerConfigurationAttributeBattery3VoltageMinThresholdID = 0x00000076,
-    MTRClusterPowerConfigurationAttributeBattery3VoltageThreshold1ID = 0x00000077,
-    MTRClusterPowerConfigurationAttributeBattery3VoltageThreshold2ID = 0x00000078,
-    MTRClusterPowerConfigurationAttributeBattery3VoltageThreshold3ID = 0x00000079,
-    MTRClusterPowerConfigurationAttributeBattery3PercentageMinThresholdID = 0x0000007A,
-    MTRClusterPowerConfigurationAttributeBattery3PercentageThreshold1ID = 0x0000007B,
-    MTRClusterPowerConfigurationAttributeBattery3PercentageThreshold2ID = 0x0000007C,
-    MTRClusterPowerConfigurationAttributeBattery3PercentageThreshold3ID = 0x0000007D,
-    MTRClusterPowerConfigurationAttributeBattery3AlarmStateID = 0x0000007E,
-    MTRClusterPowerConfigurationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterPowerConfigurationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterPowerConfigurationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterPowerConfigurationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterPowerConfigurationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster DeviceTemperatureConfiguration attributes
-    MTRClusterDeviceTemperatureConfigurationAttributeCurrentTemperatureID = 0x00000000,
-    MTRClusterDeviceTemperatureConfigurationAttributeMinTempExperiencedID = 0x00000001,
-    MTRClusterDeviceTemperatureConfigurationAttributeMaxTempExperiencedID = 0x00000002,
-    MTRClusterDeviceTemperatureConfigurationAttributeOverTempTotalDwellID = 0x00000003,
-    MTRClusterDeviceTemperatureConfigurationAttributeDeviceTempAlarmMaskID = 0x00000010,
-    MTRClusterDeviceTemperatureConfigurationAttributeLowTempThresholdID = 0x00000011,
-    MTRClusterDeviceTemperatureConfigurationAttributeHighTempThresholdID = 0x00000012,
-    MTRClusterDeviceTemperatureConfigurationAttributeLowTempDwellTripPointID = 0x00000013,
-    MTRClusterDeviceTemperatureConfigurationAttributeHighTempDwellTripPointID = 0x00000014,
-    MTRClusterDeviceTemperatureConfigurationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterDeviceTemperatureConfigurationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterDeviceTemperatureConfigurationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterDeviceTemperatureConfigurationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterDeviceTemperatureConfigurationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster Identify attributes
     MTRClusterIdentifyAttributeIdentifyTimeID = 0x00000000,
     MTRClusterIdentifyAttributeIdentifyTypeID = 0x00000001,
@@ -301,31 +177,6 @@
     MTRClusterLevelControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterLevelControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
-    // Cluster Alarms attributes
-    MTRClusterAlarmsAttributeAlarmCountID = 0x00000000,
-    MTRClusterAlarmsAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterAlarmsAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterAlarmsAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterAlarmsAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterAlarmsAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster Time attributes
-    MTRClusterTimeAttributeTimeID = 0x00000000,
-    MTRClusterTimeAttributeTimeStatusID = 0x00000001,
-    MTRClusterTimeAttributeTimeZoneID = 0x00000002,
-    MTRClusterTimeAttributeDstStartID = 0x00000003,
-    MTRClusterTimeAttributeDstEndID = 0x00000004,
-    MTRClusterTimeAttributeDstShiftID = 0x00000005,
-    MTRClusterTimeAttributeStandardTimeID = 0x00000006,
-    MTRClusterTimeAttributeLocalTimeID = 0x00000007,
-    MTRClusterTimeAttributeLastSetTimeID = 0x00000008,
-    MTRClusterTimeAttributeValidUntilTimeID = 0x00000009,
-    MTRClusterTimeAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterTimeAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterTimeAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterTimeAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterTimeAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster BinaryInputBasic attributes
     MTRClusterBinaryInputBasicAttributeActiveTextID = 0x00000004,
     MTRClusterBinaryInputBasicAttributeDescriptionID = 0x0000001C,
@@ -342,28 +193,6 @@
     MTRClusterBinaryInputBasicAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterBinaryInputBasicAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
-    // Cluster PowerProfile attributes
-    MTRClusterPowerProfileAttributeTotalProfileNumID = 0x00000000,
-    MTRClusterPowerProfileAttributeMultipleSchedulingID = 0x00000001,
-    MTRClusterPowerProfileAttributeEnergyFormattingID = 0x00000002,
-    MTRClusterPowerProfileAttributeEnergyRemoteID = 0x00000003,
-    MTRClusterPowerProfileAttributeScheduleModeID = 0x00000004,
-    MTRClusterPowerProfileAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterPowerProfileAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterPowerProfileAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterPowerProfileAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterPowerProfileAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ApplianceControl attributes
-    MTRClusterApplianceControlAttributeStartTimeID = 0x00000000,
-    MTRClusterApplianceControlAttributeFinishTimeID = 0x00000001,
-    MTRClusterApplianceControlAttributeRemainingTimeID = 0x00000002,
-    MTRClusterApplianceControlAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterApplianceControlAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterApplianceControlAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterApplianceControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterApplianceControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster PulseWidthModulation attributes
     MTRClusterPulseWidthModulationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
     MTRClusterPulseWidthModulationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
@@ -402,29 +231,15 @@
     MTRClusterAccessControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterAccessControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
-    // Cluster PollControl attributes
-    MTRClusterPollControlAttributeCheckInIntervalID = 0x00000000,
-    MTRClusterPollControlAttributeLongPollIntervalID = 0x00000001,
-    MTRClusterPollControlAttributeShortPollIntervalID = 0x00000002,
-    MTRClusterPollControlAttributeFastPollTimeoutID = 0x00000003,
-    MTRClusterPollControlAttributeCheckInIntervalMinID = 0x00000004,
-    MTRClusterPollControlAttributeLongPollIntervalMinID = 0x00000005,
-    MTRClusterPollControlAttributeFastPollTimeoutMaxID = 0x00000006,
-    MTRClusterPollControlAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterPollControlAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterPollControlAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterPollControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterPollControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster BridgedActions attributes
-    MTRClusterBridgedActionsAttributeActionListID = 0x00000000,
-    MTRClusterBridgedActionsAttributeEndpointListID = 0x00000001,
-    MTRClusterBridgedActionsAttributeSetupUrlID = 0x00000002,
-    MTRClusterBridgedActionsAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterBridgedActionsAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterBridgedActionsAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterBridgedActionsAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterBridgedActionsAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
+    // Cluster Actions attributes
+    MTRClusterActionsAttributeActionListID = 0x00000000,
+    MTRClusterActionsAttributeEndpointListsID = 0x00000001,
+    MTRClusterActionsAttributeSetupURLID = 0x00000002,
+    MTRClusterActionsAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
+    MTRClusterActionsAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
+    MTRClusterActionsAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
+    MTRClusterActionsAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
+    MTRClusterActionsAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
     // Cluster Basic attributes
     MTRClusterBasicAttributeDataModelRevisionID = 0x00000000,
@@ -666,7 +481,7 @@
     MTRClusterThreadNetworkDiagnosticsAttributePendingTimestampID = 0x00000039,
     MTRClusterThreadNetworkDiagnosticsAttributeDelayID = 0x0000003A,
     MTRClusterThreadNetworkDiagnosticsAttributeSecurityPolicyID = 0x0000003B,
-    MTRClusterThreadNetworkDiagnosticsAttributeChannelMaskID = 0x0000003C,
+    MTRClusterThreadNetworkDiagnosticsAttributeChannelPage0MaskID = 0x0000003C,
     MTRClusterThreadNetworkDiagnosticsAttributeOperationalDatasetComponentsID = 0x0000003D,
     MTRClusterThreadNetworkDiagnosticsAttributeActiveNetworkFaultsListID = 0x0000003E,
     MTRClusterThreadNetworkDiagnosticsAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
@@ -712,6 +527,16 @@
     MTRClusterEthernetNetworkDiagnosticsAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
     // Cluster TimeSynchronization attributes
+    MTRClusterTimeSynchronizationAttributeUTCTimeID = 0x00000000,
+    MTRClusterTimeSynchronizationAttributeGranularityID = 0x00000001,
+    MTRClusterTimeSynchronizationAttributeTimeSourceID = 0x00000002,
+    MTRClusterTimeSynchronizationAttributeTrustedTimeNodeIdID = 0x00000003,
+    MTRClusterTimeSynchronizationAttributeDefaultNtpID = 0x00000004,
+    MTRClusterTimeSynchronizationAttributeTimeZoneID = 0x00000005,
+    MTRClusterTimeSynchronizationAttributeDstOffsetID = 0x00000006,
+    MTRClusterTimeSynchronizationAttributeLocalTimeID = 0x00000007,
+    MTRClusterTimeSynchronizationAttributeTimeZoneDatabaseID = 0x00000008,
+    MTRClusterTimeSynchronizationAttributeNtpServerPortID = 0x00000009,
     MTRClusterTimeSynchronizationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
     MTRClusterTimeSynchronizationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
     MTRClusterTimeSynchronizationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
@@ -842,18 +667,6 @@
     MTRClusterModeSelectAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterModeSelectAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
-    // Cluster ShadeConfiguration attributes
-    MTRClusterShadeConfigurationAttributePhysicalClosedLimitID = 0x00000000,
-    MTRClusterShadeConfigurationAttributeMotorStepSizeID = 0x00000001,
-    MTRClusterShadeConfigurationAttributeStatusID = 0x00000002,
-    MTRClusterShadeConfigurationAttributeClosedLimitID = 0x00000010,
-    MTRClusterShadeConfigurationAttributeModeID = 0x00000011,
-    MTRClusterShadeConfigurationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterShadeConfigurationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterShadeConfigurationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterShadeConfigurationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterShadeConfigurationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster DoorLock attributes
     MTRClusterDoorLockAttributeLockStateID = 0x00000000,
     MTRClusterDoorLockAttributeLockTypeID = 0x00000001,
@@ -1047,21 +860,6 @@
     MTRClusterFanControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterFanControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
-    // Cluster DehumidificationControl attributes
-    MTRClusterDehumidificationControlAttributeRelativeHumidityID = 0x00000000,
-    MTRClusterDehumidificationControlAttributeDehumidificationCoolingID = 0x00000001,
-    MTRClusterDehumidificationControlAttributeRhDehumidificationSetpointID = 0x00000010,
-    MTRClusterDehumidificationControlAttributeRelativeHumidityModeID = 0x00000011,
-    MTRClusterDehumidificationControlAttributeDehumidificationLockoutID = 0x00000012,
-    MTRClusterDehumidificationControlAttributeDehumidificationHysteresisID = 0x00000013,
-    MTRClusterDehumidificationControlAttributeDehumidificationMaxCoolID = 0x00000014,
-    MTRClusterDehumidificationControlAttributeRelativeHumidityDisplayID = 0x00000015,
-    MTRClusterDehumidificationControlAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterDehumidificationControlAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterDehumidificationControlAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterDehumidificationControlAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterDehumidificationControlAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster ThermostatUserInterfaceConfiguration attributes
     MTRClusterThermostatUserInterfaceConfigurationAttributeTemperatureDisplayModeID = 0x00000000,
     MTRClusterThermostatUserInterfaceConfigurationAttributeKeypadLockoutID = 0x00000001,
@@ -1137,11 +935,9 @@
     MTRClusterBallastConfigurationAttributeBallastStatusID = 0x00000002,
     MTRClusterBallastConfigurationAttributeMinLevelID = 0x00000010,
     MTRClusterBallastConfigurationAttributeMaxLevelID = 0x00000011,
-    MTRClusterBallastConfigurationAttributePowerOnLevelID = 0x00000012,
-    MTRClusterBallastConfigurationAttributePowerOnFadeTimeID = 0x00000013,
-    MTRClusterBallastConfigurationAttributeIntrinsicBallastFactorID = 0x00000014,
+    MTRClusterBallastConfigurationAttributeIntrinsicBalanceFactorID = 0x00000014,
     MTRClusterBallastConfigurationAttributeBallastFactorAdjustmentID = 0x00000015,
-    MTRClusterBallastConfigurationAttributeLampQualityID = 0x00000020,
+    MTRClusterBallastConfigurationAttributeLampQuantityID = 0x00000020,
     MTRClusterBallastConfigurationAttributeLampTypeID = 0x00000030,
     MTRClusterBallastConfigurationAttributeLampManufacturerID = 0x00000031,
     MTRClusterBallastConfigurationAttributeLampRatedHoursID = 0x00000032,
@@ -1234,358 +1030,6 @@
     MTRClusterOccupancySensingAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterOccupancySensingAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
-    // Cluster CarbonMonoxideConcentrationMeasurement attributes
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterCarbonMonoxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster CarbonDioxideConcentrationMeasurement attributes
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterCarbonDioxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster EthyleneConcentrationMeasurement attributes
-    MTRClusterEthyleneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterEthyleneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterEthyleneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterEthyleneConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterEthyleneConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterEthyleneConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterEthyleneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterEthyleneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterEthyleneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster EthyleneOxideConcentrationMeasurement attributes
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterEthyleneOxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster HydrogenConcentrationMeasurement attributes
-    MTRClusterHydrogenConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterHydrogenConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterHydrogenConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterHydrogenConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterHydrogenConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterHydrogenConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterHydrogenConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterHydrogenConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterHydrogenConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster HydrogenSulphideConcentrationMeasurement attributes
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterHydrogenSulphideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster NitricOxideConcentrationMeasurement attributes
-    MTRClusterNitricOxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterNitricOxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster NitrogenDioxideConcentrationMeasurement attributes
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterNitrogenDioxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster OxygenConcentrationMeasurement attributes
-    MTRClusterOxygenConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterOxygenConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterOxygenConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterOxygenConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterOxygenConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterOxygenConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterOxygenConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterOxygenConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterOxygenConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster OzoneConcentrationMeasurement attributes
-    MTRClusterOzoneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterOzoneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterOzoneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterOzoneConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterOzoneConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterOzoneConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterOzoneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterOzoneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterOzoneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster SulfurDioxideConcentrationMeasurement attributes
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterSulfurDioxideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster DissolvedOxygenConcentrationMeasurement attributes
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterDissolvedOxygenConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster BromateConcentrationMeasurement attributes
-    MTRClusterBromateConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterBromateConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterBromateConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterBromateConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterBromateConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterBromateConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterBromateConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterBromateConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterBromateConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ChloraminesConcentrationMeasurement attributes
-    MTRClusterChloraminesConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterChloraminesConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterChloraminesConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterChloraminesConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterChloraminesConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterChloraminesConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterChloraminesConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterChloraminesConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterChloraminesConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ChlorineConcentrationMeasurement attributes
-    MTRClusterChlorineConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterChlorineConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterChlorineConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterChlorineConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterChlorineConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterChlorineConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterChlorineConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterChlorineConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterChlorineConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster FecalColiformAndEColiConcentrationMeasurement attributes
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterFecalColiformAndEColiConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster FluorideConcentrationMeasurement attributes
-    MTRClusterFluorideConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterFluorideConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterFluorideConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterFluorideConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterFluorideConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterFluorideConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterFluorideConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterFluorideConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterFluorideConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster HaloaceticAcidsConcentrationMeasurement attributes
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterHaloaceticAcidsConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster TotalTrihalomethanesConcentrationMeasurement attributes
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterTotalTrihalomethanesConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster TotalColiformBacteriaConcentrationMeasurement attributes
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterTotalColiformBacteriaConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster TurbidityConcentrationMeasurement attributes
-    MTRClusterTurbidityConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterTurbidityConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterTurbidityConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterTurbidityConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterTurbidityConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterTurbidityConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterTurbidityConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterTurbidityConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterTurbidityConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster CopperConcentrationMeasurement attributes
-    MTRClusterCopperConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterCopperConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterCopperConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterCopperConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterCopperConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterCopperConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterCopperConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterCopperConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterCopperConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster LeadConcentrationMeasurement attributes
-    MTRClusterLeadConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterLeadConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterLeadConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterLeadConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterLeadConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterLeadConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterLeadConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterLeadConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterLeadConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ManganeseConcentrationMeasurement attributes
-    MTRClusterManganeseConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterManganeseConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterManganeseConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterManganeseConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterManganeseConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterManganeseConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterManganeseConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterManganeseConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterManganeseConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster SulfateConcentrationMeasurement attributes
-    MTRClusterSulfateConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterSulfateConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterSulfateConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterSulfateConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterSulfateConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterSulfateConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterSulfateConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterSulfateConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterSulfateConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster BromodichloromethaneConcentrationMeasurement attributes
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterBromodichloromethaneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster BromoformConcentrationMeasurement attributes
-    MTRClusterBromoformConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterBromoformConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterBromoformConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterBromoformConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterBromoformConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterBromoformConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterBromoformConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterBromoformConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterBromoformConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ChlorodibromomethaneConcentrationMeasurement attributes
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeGeneratedCommandListID
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeAcceptedCommandListID
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterChlorodibromomethaneConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ChloroformConcentrationMeasurement attributes
-    MTRClusterChloroformConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterChloroformConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterChloroformConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterChloroformConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterChloroformConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterChloroformConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterChloroformConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterChloroformConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterChloroformConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster SodiumConcentrationMeasurement attributes
-    MTRClusterSodiumConcentrationMeasurementAttributeMeasuredValueID = 0x00000000,
-    MTRClusterSodiumConcentrationMeasurementAttributeMinMeasuredValueID = 0x00000001,
-    MTRClusterSodiumConcentrationMeasurementAttributeMaxMeasuredValueID = 0x00000002,
-    MTRClusterSodiumConcentrationMeasurementAttributeToleranceID = 0x00000003,
-    MTRClusterSodiumConcentrationMeasurementAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterSodiumConcentrationMeasurementAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterSodiumConcentrationMeasurementAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterSodiumConcentrationMeasurementAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterSodiumConcentrationMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster WakeOnLan attributes
     MTRClusterWakeOnLanAttributeMACAddressID = 0x00000000,
     MTRClusterWakeOnLanAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
@@ -1699,67 +1143,6 @@
     MTRClusterAccountLoginAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterAccountLoginAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
-    // Cluster Messaging attributes
-    MTRClusterMessagingAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterMessagingAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterMessagingAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterMessagingAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterMessagingAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ApplianceIdentification attributes
-    MTRClusterApplianceIdentificationAttributeBasicIdentificationID = 0x00000000,
-    MTRClusterApplianceIdentificationAttributeCompanyNameID = 0x00000010,
-    MTRClusterApplianceIdentificationAttributeCompanyIdID = 0x00000011,
-    MTRClusterApplianceIdentificationAttributeBrandNameID = 0x00000012,
-    MTRClusterApplianceIdentificationAttributeBrandIdID = 0x00000013,
-    MTRClusterApplianceIdentificationAttributeModelID = 0x00000014,
-    MTRClusterApplianceIdentificationAttributePartNumberID = 0x00000015,
-    MTRClusterApplianceIdentificationAttributeProductRevisionID = 0x00000016,
-    MTRClusterApplianceIdentificationAttributeSoftwareRevisionID = 0x00000017,
-    MTRClusterApplianceIdentificationAttributeProductTypeNameID = 0x00000018,
-    MTRClusterApplianceIdentificationAttributeProductTypeIdID = 0x00000019,
-    MTRClusterApplianceIdentificationAttributeCecedSpecificationVersionID = 0x0000001A,
-    MTRClusterApplianceIdentificationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterApplianceIdentificationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterApplianceIdentificationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterApplianceIdentificationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterApplianceIdentificationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster MeterIdentification attributes
-    MTRClusterMeterIdentificationAttributeCompanyNameID = 0x00000000,
-    MTRClusterMeterIdentificationAttributeMeterTypeIdID = 0x00000001,
-    MTRClusterMeterIdentificationAttributeDataQualityIdID = 0x00000004,
-    MTRClusterMeterIdentificationAttributeCustomerNameID = 0x00000005,
-    MTRClusterMeterIdentificationAttributeModelID = 0x00000006,
-    MTRClusterMeterIdentificationAttributePartNumberID = 0x00000007,
-    MTRClusterMeterIdentificationAttributeProductRevisionID = 0x00000008,
-    MTRClusterMeterIdentificationAttributeSoftwareRevisionID = 0x0000000A,
-    MTRClusterMeterIdentificationAttributeUtilityNameID = 0x0000000B,
-    MTRClusterMeterIdentificationAttributePodID = 0x0000000C,
-    MTRClusterMeterIdentificationAttributeAvailablePowerID = 0x0000000D,
-    MTRClusterMeterIdentificationAttributePowerThresholdID = 0x0000000E,
-    MTRClusterMeterIdentificationAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterMeterIdentificationAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterMeterIdentificationAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterMeterIdentificationAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterMeterIdentificationAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ApplianceEventsAndAlert attributes
-    MTRClusterApplianceEventsAndAlertAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterApplianceEventsAndAlertAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterApplianceEventsAndAlertAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterApplianceEventsAndAlertAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterApplianceEventsAndAlertAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
-    // Cluster ApplianceStatistics attributes
-    MTRClusterApplianceStatisticsAttributeLogMaxSizeID = 0x00000000,
-    MTRClusterApplianceStatisticsAttributeLogQueueMaxSizeID = 0x00000001,
-    MTRClusterApplianceStatisticsAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterApplianceStatisticsAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterApplianceStatisticsAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterApplianceStatisticsAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterApplianceStatisticsAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster ElectricalMeasurement attributes
     MTRClusterElectricalMeasurementAttributeMeasurementTypeID = 0x00000000,
     MTRClusterElectricalMeasurementAttributeDcVoltageID = 0x00000100,
@@ -2044,67 +1427,19 @@
     MTRClusterLevelControlCommandStopWithOnOffID = 0x00000007,
     MTRClusterLevelControlCommandMoveToClosestFrequencyID = 0x00000008,
 
-    // Cluster Alarms commands
-    MTRClusterAlarmsCommandResetAlarmID = 0x00000000,
-    MTRClusterAlarmsCommandAlarmID = 0x00000000,
-    MTRClusterAlarmsCommandResetAllAlarmsID = 0x00000001,
-    MTRClusterAlarmsCommandGetAlarmResponseID = 0x00000001,
-    MTRClusterAlarmsCommandGetAlarmID = 0x00000002,
-    MTRClusterAlarmsCommandResetAlarmLogID = 0x00000003,
-
-    // Cluster PowerProfile commands
-    MTRClusterPowerProfileCommandPowerProfileRequestID = 0x00000000,
-    MTRClusterPowerProfileCommandPowerProfileNotificationID = 0x00000000,
-    MTRClusterPowerProfileCommandPowerProfileStateRequestID = 0x00000001,
-    MTRClusterPowerProfileCommandPowerProfileResponseID = 0x00000001,
-    MTRClusterPowerProfileCommandGetPowerProfilePriceResponseID = 0x00000002,
-    MTRClusterPowerProfileCommandPowerProfileStateResponseID = 0x00000002,
-    MTRClusterPowerProfileCommandGetOverallSchedulePriceResponseID = 0x00000003,
-    MTRClusterPowerProfileCommandGetPowerProfilePriceID = 0x00000003,
-    MTRClusterPowerProfileCommandEnergyPhasesScheduleNotificationID = 0x00000004,
-    MTRClusterPowerProfileCommandPowerProfilesStateNotificationID = 0x00000004,
-    MTRClusterPowerProfileCommandEnergyPhasesScheduleResponseID = 0x00000005,
-    MTRClusterPowerProfileCommandGetOverallSchedulePriceID = 0x00000005,
-    MTRClusterPowerProfileCommandPowerProfileScheduleConstraintsRequestID = 0x00000006,
-    MTRClusterPowerProfileCommandEnergyPhasesScheduleRequestID = 0x00000006,
-    MTRClusterPowerProfileCommandEnergyPhasesScheduleStateRequestID = 0x00000007,
-    MTRClusterPowerProfileCommandEnergyPhasesScheduleStateResponseID = 0x00000007,
-    MTRClusterPowerProfileCommandGetPowerProfilePriceExtendedResponseID = 0x00000008,
-    MTRClusterPowerProfileCommandEnergyPhasesScheduleStateNotificationID = 0x00000008,
-    MTRClusterPowerProfileCommandPowerProfileScheduleConstraintsNotificationID = 0x00000009,
-    MTRClusterPowerProfileCommandPowerProfileScheduleConstraintsResponseID = 0x0000000A,
-    MTRClusterPowerProfileCommandGetPowerProfilePriceExtendedID = 0x0000000B,
-
-    // Cluster ApplianceControl commands
-    MTRClusterApplianceControlCommandExecutionOfACommandID = 0x00000000,
-    MTRClusterApplianceControlCommandSignalStateResponseID = 0x00000000,
-    MTRClusterApplianceControlCommandSignalStateID = 0x00000001,
-    MTRClusterApplianceControlCommandSignalStateNotificationID = 0x00000001,
-    MTRClusterApplianceControlCommandWriteFunctionsID = 0x00000002,
-    MTRClusterApplianceControlCommandOverloadPauseResumeID = 0x00000003,
-    MTRClusterApplianceControlCommandOverloadPauseID = 0x00000004,
-    MTRClusterApplianceControlCommandOverloadWarningID = 0x00000005,
-
-    // Cluster PollControl commands
-    MTRClusterPollControlCommandCheckInID = 0x00000000,
-    MTRClusterPollControlCommandCheckInResponseID = 0x00000000,
-    MTRClusterPollControlCommandFastPollStopID = 0x00000001,
-    MTRClusterPollControlCommandSetLongPollIntervalID = 0x00000002,
-    MTRClusterPollControlCommandSetShortPollIntervalID = 0x00000003,
-
-    // Cluster BridgedActions commands
-    MTRClusterBridgedActionsCommandInstantActionID = 0x00000000,
-    MTRClusterBridgedActionsCommandInstantActionWithTransitionID = 0x00000001,
-    MTRClusterBridgedActionsCommandStartActionID = 0x00000002,
-    MTRClusterBridgedActionsCommandStartActionWithDurationID = 0x00000003,
-    MTRClusterBridgedActionsCommandStopActionID = 0x00000004,
-    MTRClusterBridgedActionsCommandPauseActionID = 0x00000005,
-    MTRClusterBridgedActionsCommandPauseActionWithDurationID = 0x00000006,
-    MTRClusterBridgedActionsCommandResumeActionID = 0x00000007,
-    MTRClusterBridgedActionsCommandEnableActionID = 0x00000008,
-    MTRClusterBridgedActionsCommandEnableActionWithDurationID = 0x00000009,
-    MTRClusterBridgedActionsCommandDisableActionID = 0x0000000A,
-    MTRClusterBridgedActionsCommandDisableActionWithDurationID = 0x0000000B,
+    // Cluster Actions commands
+    MTRClusterActionsCommandInstantActionID = 0x00000000,
+    MTRClusterActionsCommandInstantActionWithTransitionID = 0x00000001,
+    MTRClusterActionsCommandStartActionID = 0x00000002,
+    MTRClusterActionsCommandStartActionWithDurationID = 0x00000003,
+    MTRClusterActionsCommandStopActionID = 0x00000004,
+    MTRClusterActionsCommandPauseActionID = 0x00000005,
+    MTRClusterActionsCommandPauseActionWithDurationID = 0x00000006,
+    MTRClusterActionsCommandResumeActionID = 0x00000007,
+    MTRClusterActionsCommandEnableActionID = 0x00000008,
+    MTRClusterActionsCommandEnableActionWithDurationID = 0x00000009,
+    MTRClusterActionsCommandDisableActionID = 0x0000000A,
+    MTRClusterActionsCommandDisableActionWithDurationID = 0x0000000B,
 
     // Cluster Basic commands
     MTRClusterBasicCommandMfgSpecificPingID = 0x10020000,
@@ -2157,6 +1492,9 @@
     // Cluster EthernetNetworkDiagnostics commands
     MTRClusterEthernetNetworkDiagnosticsCommandResetCountsID = 0x00000000,
 
+    // Cluster TimeSynchronization commands
+    MTRClusterTimeSynchronizationCommandSetUtcTimeID = 0x00000000,
+
     // Cluster AdministratorCommissioning commands
     MTRClusterAdministratorCommissioningCommandOpenCommissioningWindowID = 0x00000000,
     MTRClusterAdministratorCommissioningCommandOpenBasicCommissioningWindowID = 0x00000001,
@@ -2312,29 +1650,6 @@
     MTRClusterAccountLoginCommandLoginID = 0x00000002,
     MTRClusterAccountLoginCommandLogoutID = 0x00000003,
 
-    // Cluster Messaging commands
-    MTRClusterMessagingCommandDisplayMessageID = 0x00000000,
-    MTRClusterMessagingCommandGetLastMessageID = 0x00000000,
-    MTRClusterMessagingCommandCancelMessageID = 0x00000001,
-    MTRClusterMessagingCommandMessageConfirmationID = 0x00000001,
-    MTRClusterMessagingCommandDisplayProtectedMessageID = 0x00000002,
-    MTRClusterMessagingCommandGetMessageCancellationID = 0x00000002,
-    MTRClusterMessagingCommandCancelAllMessagesID = 0x00000003,
-
-    // Cluster ApplianceEventsAndAlert commands
-    MTRClusterApplianceEventsAndAlertCommandGetAlertsID = 0x00000000,
-    MTRClusterApplianceEventsAndAlertCommandGetAlertsResponseID = 0x00000000,
-    MTRClusterApplianceEventsAndAlertCommandAlertsNotificationID = 0x00000001,
-    MTRClusterApplianceEventsAndAlertCommandEventsNotificationID = 0x00000002,
-
-    // Cluster ApplianceStatistics commands
-    MTRClusterApplianceStatisticsCommandLogNotificationID = 0x00000000,
-    MTRClusterApplianceStatisticsCommandLogRequestID = 0x00000000,
-    MTRClusterApplianceStatisticsCommandLogResponseID = 0x00000001,
-    MTRClusterApplianceStatisticsCommandLogQueueRequestID = 0x00000001,
-    MTRClusterApplianceStatisticsCommandLogQueueResponseID = 0x00000002,
-    MTRClusterApplianceStatisticsCommandStatisticsAvailableID = 0x00000003,
-
     // Cluster ElectricalMeasurement commands
     MTRClusterElectricalMeasurementCommandGetProfileInfoResponseCommandID = 0x00000000,
     MTRClusterElectricalMeasurementCommandGetProfileInfoCommandID = 0x00000000,
@@ -2386,9 +1701,9 @@
     MTRClusterAccessControlEventAccessControlEntryChangedID = 0x00000000,
     MTRClusterAccessControlEventAccessControlExtensionChangedID = 0x00000001,
 
-    // Cluster BridgedActions events
-    MTRClusterBridgedActionsEventStateChangedID = 0x00000000,
-    MTRClusterBridgedActionsEventActionFailedID = 0x00000001,
+    // Cluster Actions events
+    MTRClusterActionsEventStateChangedID = 0x00000000,
+    MTRClusterActionsEventActionFailedID = 0x00000001,
 
     // Cluster Basic events
     MTRClusterBasicEventStartUpID = 0x00000000,
@@ -2412,6 +1727,7 @@
 
     // Cluster ThreadNetworkDiagnostics events
     MTRClusterThreadNetworkDiagnosticsEventConnectionStatusID = 0x00000000,
+    MTRClusterThreadNetworkDiagnosticsEventNetworkFaultChangeID = 0x00000001,
 
     // Cluster WiFiNetworkDiagnostics events
     MTRClusterWiFiNetworkDiagnosticsEventDisconnectionID = 0x00000000,
diff -ruN /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h
--- /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRClusters.h	2022-09-07 23:55:48.000000000 -0400
@@ -0,0 +1,5286 @@
+/*
+ *
+ *    Copyright (c) 2022 Project CHIP Authors
+ *
+ *    Licensed under the Apache License, Version 2.0 (the "License");
+ *    you may not use this file except in compliance with the License.
+ *    You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *    Unless required by applicable law or agreed to in writing, software
+ *    distributed under the License is distributed on an "AS IS" BASIS,
+ *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *    See the License for the specific language governing permissions and
+ *    limitations under the License.
+ */
+
+// THIS FILE IS GENERATED BY ZAP
+
+#import <Foundation/Foundation.h>
+
+#import <Matter/MTRAttributeCacheContainer.h>
+
+#import <Matter/MTRBaseClusters.h>
+#import <Matter/MTRCluster.h>
+#import <Matter/MTRCommandPayloadsObjc.h>
+#import <Matter/MTRDevice.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ * Cluster Identify
+ *
+ */
+@interface MTRClusterIdentify : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)identifyWithParams:(MTRIdentifyClusterIdentifyParams *)params
+            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+         completionHandler:(StatusCompletion)completionHandler;
+- (void)triggerEffectWithParams:(MTRIdentifyClusterTriggerEffectParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeIdentifyTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeIdentifyTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeIdentifyTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeIdentifyTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Groups
+ *
+ */
+@interface MTRClusterGroups : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)addGroupWithParams:(MTRGroupsClusterAddGroupParams *)params
+            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+         completionHandler:
+             (void (^)(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)viewGroupWithParams:(MTRGroupsClusterViewGroupParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:
+              (void (^)(MTRGroupsClusterViewGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)getGroupMembershipWithParams:(MTRGroupsClusterGetGroupMembershipParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(void (^)(MTRGroupsClusterGetGroupMembershipResponseParams * _Nullable data,
+                                         NSError * _Nullable error))completionHandler;
+- (void)removeGroupWithParams:(MTRGroupsClusterRemoveGroupParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:
+                (void (^)(MTRGroupsClusterRemoveGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)removeAllGroupsWithParams:(MTRGroupsClusterRemoveAllGroupsParams * _Nullable)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+- (void)removeAllGroupsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+- (void)addGroupIfIdentifyingWithParams:(MTRGroupsClusterAddGroupIfIdentifyingParams *)params
+                         expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                  expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                      completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeNameSupportWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Scenes
+ *
+ */
+@interface MTRClusterScenes : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)addSceneWithParams:(MTRScenesClusterAddSceneParams *)params
+            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+         completionHandler:
+             (void (^)(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)viewSceneWithParams:(MTRScenesClusterViewSceneParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:
+              (void (^)(MTRScenesClusterViewSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)removeSceneWithParams:(MTRScenesClusterRemoveSceneParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:
+                (void (^)(MTRScenesClusterRemoveSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)removeAllScenesWithParams:(MTRScenesClusterRemoveAllScenesParams *)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(void (^)(MTRScenesClusterRemoveAllScenesResponseParams * _Nullable data,
+                                      NSError * _Nullable error))completionHandler;
+- (void)storeSceneWithParams:(MTRScenesClusterStoreSceneParams *)params
+              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+           completionHandler:
+               (void (^)(MTRScenesClusterStoreSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)recallSceneWithParams:(MTRScenesClusterRecallSceneParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)getSceneMembershipWithParams:(MTRScenesClusterGetSceneMembershipParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(void (^)(MTRScenesClusterGetSceneMembershipResponseParams * _Nullable data,
+                                         NSError * _Nullable error))completionHandler;
+- (void)enhancedAddSceneWithParams:(MTRScenesClusterEnhancedAddSceneParams *)params
+                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+             expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                 completionHandler:(void (^)(MTRScenesClusterEnhancedAddSceneResponseParams * _Nullable data,
+                                       NSError * _Nullable error))completionHandler;
+- (void)enhancedViewSceneWithParams:(MTRScenesClusterEnhancedViewSceneParams *)params
+                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                  completionHandler:(void (^)(MTRScenesClusterEnhancedViewSceneResponseParams * _Nullable data,
+                                        NSError * _Nullable error))completionHandler;
+- (void)copySceneWithParams:(MTRScenesClusterCopySceneParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:
+              (void (^)(MTRScenesClusterCopySceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeSceneCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentSceneWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentGroupWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSceneValidWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNameSupportWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLastConfiguredByWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster On/Off
+ *
+ */
+@interface MTRClusterOnOff : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)offWithParams:(MTROnOffClusterOffParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)offWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)onWithParams:(MTROnOffClusterOnParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)onWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+           completionHandler:(StatusCompletion)completionHandler;
+- (void)toggleWithParams:(MTROnOffClusterToggleParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)toggleWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+               completionHandler:(StatusCompletion)completionHandler;
+- (void)offWithEffectWithParams:(MTROnOffClusterOffWithEffectParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)onWithRecallGlobalSceneWithParams:(MTROnOffClusterOnWithRecallGlobalSceneParams * _Nullable)params
+                           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+- (void)onWithRecallGlobalSceneWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                completionHandler:(StatusCompletion)completionHandler;
+- (void)onWithTimedOffWithParams:(MTROnOffClusterOnWithTimedOffParams *)params
+                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+               completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeOnOffWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGlobalSceneControlWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOnTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOnTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOnTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOffWaitTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOffWaitTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOffWaitTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStartUpOnOffWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeStartUpOnOffWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeStartUpOnOffWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster On/off Switch Configuration
+ *
+ */
+@interface MTRClusterOnOffSwitchConfiguration : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeSwitchTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSwitchActionsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeSwitchActionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeSwitchActionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Level Control
+ *
+ */
+@interface MTRClusterLevelControl : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)moveToLevelWithParams:(MTRLevelControlClusterMoveToLevelParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)moveWithParams:(MTRLevelControlClusterMoveParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)stepWithParams:(MTRLevelControlClusterStepParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)stopWithParams:(MTRLevelControlClusterStopParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)moveToLevelWithOnOffWithParams:(MTRLevelControlClusterMoveToLevelWithOnOffParams *)params
+                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                     completionHandler:(StatusCompletion)completionHandler;
+- (void)moveWithOnOffWithParams:(MTRLevelControlClusterMoveWithOnOffParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)stepWithOnOffWithParams:(MTRLevelControlClusterStepWithOnOffParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)stopWithOnOffWithParams:(MTRLevelControlClusterStopWithOnOffParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)moveToClosestFrequencyWithParams:(MTRLevelControlClusterMoveToClosestFrequencyParams *)params
+                          expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                   expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                       completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentLevelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRemainingTimeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinLevelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxLevelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentFrequencyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinFrequencyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxFrequencyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOptionsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOnOffTransitionTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOnOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOnOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOnLevelWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOnLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOnLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOnTransitionTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOnTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOnTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOffTransitionTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOffTransitionTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                          params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDefaultMoveRateWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeDefaultMoveRateWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeDefaultMoveRateWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStartUpCurrentLevelWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeStartUpCurrentLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeStartUpCurrentLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Binary Input (Basic)
+ *
+ */
+@interface MTRClusterBinaryInputBasic : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveTextWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeActiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeActiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDescriptionWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeDescriptionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeDescriptionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInactiveTextWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInactiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInactiveTextWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOutOfServiceWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOutOfServiceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOutOfServiceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePolarityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePresentValueWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributePresentValueWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePresentValueWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReliabilityWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeReliabilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeReliabilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStatusFlagsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeApplicationTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Descriptor
+ *
+ */
+@interface MTRClusterDescriptor : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeDeviceListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeServerListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClientListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePartsListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Binding
+ *
+ */
+@interface MTRClusterBinding : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeBindingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBindingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBindingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Access Control
+ *
+ */
+@interface MTRClusterAccessControl : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeAclWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeAclWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeAclWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeExtensionWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeExtensionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeExtensionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSubjectsPerAccessControlEntryWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTargetsPerAccessControlEntryWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAccessControlEntriesPerFabricWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Actions
+ *
+ */
+@interface MTRClusterActions : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)instantActionWithParams:(MTRActionsClusterInstantActionParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)instantActionWithTransitionWithParams:(MTRActionsClusterInstantActionWithTransitionParams *)params
+                               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                            completionHandler:(StatusCompletion)completionHandler;
+- (void)startActionWithParams:(MTRActionsClusterStartActionParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)startActionWithDurationWithParams:(MTRActionsClusterStartActionWithDurationParams *)params
+                           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+- (void)stopActionWithParams:(MTRActionsClusterStopActionParams *)params
+              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+           completionHandler:(StatusCompletion)completionHandler;
+- (void)pauseActionWithParams:(MTRActionsClusterPauseActionParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)pauseActionWithDurationWithParams:(MTRActionsClusterPauseActionWithDurationParams *)params
+                           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+- (void)resumeActionWithParams:(MTRActionsClusterResumeActionParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+- (void)enableActionWithParams:(MTRActionsClusterEnableActionParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+- (void)enableActionWithDurationWithParams:(MTRActionsClusterEnableActionWithDurationParams *)params
+                            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                         completionHandler:(StatusCompletion)completionHandler;
+- (void)disableActionWithParams:(MTRActionsClusterDisableActionParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)disableActionWithDurationWithParams:(MTRActionsClusterDisableActionWithDurationParams *)params
+                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                          completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeActionListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEndpointListsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSetupURLWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Basic
+ *
+ */
+@interface MTRClusterBasic : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)mfgSpecificPingWithParams:(MTRBasicClusterMfgSpecificPingParams * _Nullable)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+- (void)mfgSpecificPingWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeDataModelRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeVendorIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductNameWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNodeLabelWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLocationWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLocationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLocationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionStringWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionStringWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeManufacturingDateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePartNumberWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductURLWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductLabelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSerialNumberWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLocalConfigDisabledWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLocalConfigDisabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLocalConfigDisabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReachableWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUniqueIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCapabilityMinimaWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster OTA Software Update Provider
+ *
+ */
+@interface MTRClusterOtaSoftwareUpdateProvider : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)queryImageWithParams:(MTROtaSoftwareUpdateProviderClusterQueryImageParams *)params
+              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+           completionHandler:(void (^)(MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data,
+                                 NSError * _Nullable error))completionHandler;
+- (void)applyUpdateRequestWithParams:(MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(void (^)(MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams * _Nullable data,
+                                         NSError * _Nullable error))completionHandler;
+- (void)notifyUpdateAppliedWithParams:(MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams *)params
+                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster OTA Software Update Requestor
+ *
+ */
+@interface MTRClusterOtaSoftwareUpdateRequestor : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)announceOtaProviderWithParams:(MTROtaSoftwareUpdateRequestorClusterAnnounceOtaProviderParams *)params
+                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeDefaultOtaProvidersWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeDefaultOtaProvidersWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeDefaultOtaProvidersWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUpdatePossibleWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUpdateStateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUpdateStateProgressWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Localization Configuration
+ *
+ */
+@interface MTRClusterLocalizationConfiguration : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveLocaleWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeActiveLocaleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeActiveLocaleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSupportedLocalesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Time Format Localization
+ *
+ */
+@interface MTRClusterTimeFormatLocalization : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeHourFormatWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeHourFormatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeHourFormatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveCalendarTypeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeActiveCalendarTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeActiveCalendarTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSupportedCalendarTypesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Unit Localization
+ *
+ */
+@interface MTRClusterUnitLocalization : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeTemperatureUnitWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeTemperatureUnitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeTemperatureUnitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Power Source Configuration
+ *
+ */
+@interface MTRClusterPowerSourceConfiguration : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeSourcesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Power Source
+ *
+ */
+@interface MTRClusterPowerSource : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOrderWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDescriptionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiredAssessedInputVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiredAssessedInputFrequencyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiredCurrentTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiredAssessedCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiredNominalVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiredMaximumCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiredPresentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveWiredFaultsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatPercentRemainingWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatTimeRemainingWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatChargeLevelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatReplacementNeededWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatReplaceabilityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatPresentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveBatFaultsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatReplacementDescriptionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatCommonDesignationWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatANSIDesignationWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatIECDesignationWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatApprovedChemistryWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatCapacityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatQuantityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatChargeStateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatTimeToFullChargeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatFunctionalWhileChargingWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBatChargingCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveBatChargeFaultsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster General Commissioning
+ *
+ */
+@interface MTRClusterGeneralCommissioning : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)armFailSafeWithParams:(MTRGeneralCommissioningClusterArmFailSafeParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(void (^)(MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data,
+                                  NSError * _Nullable error))completionHandler;
+- (void)setRegulatoryConfigWithParams:(MTRGeneralCommissioningClusterSetRegulatoryConfigParams *)params
+                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                    completionHandler:(void (^)(MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams * _Nullable data,
+                                          NSError * _Nullable error))completionHandler;
+- (void)commissioningCompleteWithParams:(MTRGeneralCommissioningClusterCommissioningCompleteParams * _Nullable)params
+                         expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                  expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                      completionHandler:
+                          (void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
+                              NSError * _Nullable error))completionHandler;
+- (void)commissioningCompleteWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                              completionHandler:
+                                  (void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
+                                      NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeBreadcrumbWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBreadcrumbWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBreadcrumbWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBasicCommissioningInfoWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRegulatoryConfigWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLocationCapabilityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSupportsConcurrentConnectionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Network Commissioning
+ *
+ */
+@interface MTRClusterNetworkCommissioning : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)scanNetworksWithParams:(MTRNetworkCommissioningClusterScanNetworksParams * _Nullable)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(void (^)(MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data,
+                                   NSError * _Nullable error))completionHandler;
+- (void)addOrUpdateWiFiNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateWiFiNetworkParams *)params
+                          expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                   expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                       completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                             NSError * _Nullable error))completionHandler;
+- (void)addOrUpdateThreadNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateThreadNetworkParams *)params
+                            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                         completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                               NSError * _Nullable error))completionHandler;
+- (void)removeNetworkWithParams:(MTRNetworkCommissioningClusterRemoveNetworkParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                    NSError * _Nullable error))completionHandler;
+- (void)connectNetworkWithParams:(MTRNetworkCommissioningClusterConnectNetworkParams *)params
+                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+               completionHandler:(void (^)(MTRNetworkCommissioningClusterConnectNetworkResponseParams * _Nullable data,
+                                     NSError * _Nullable error))completionHandler;
+- (void)reorderNetworkWithParams:(MTRNetworkCommissioningClusterReorderNetworkParams *)params
+                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+               completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                     NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxNetworksWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNetworksWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeScanMaxTimeSecondsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeConnectMaxTimeSecondsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInterfaceEnabledWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInterfaceEnabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInterfaceEnabledWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLastNetworkingStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLastNetworkIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLastConnectErrorValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Diagnostic Logs
+ *
+ */
+@interface MTRClusterDiagnosticLogs : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)retrieveLogsRequestWithParams:(MTRDiagnosticLogsClusterRetrieveLogsRequestParams *)params
+                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                    completionHandler:(void (^)(MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data,
+                                          NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster General Diagnostics
+ *
+ */
+@interface MTRClusterGeneralDiagnostics : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)testEventTriggerWithParams:(MTRGeneralDiagnosticsClusterTestEventTriggerParams *)params
+                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+             expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                 completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeNetworkInterfacesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRebootCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUpTimeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTotalOperationalHoursWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBootReasonsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveHardwareFaultsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveRadioFaultsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveNetworkFaultsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTestEventTriggersEnabledWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Software Diagnostics
+ *
+ */
+@interface MTRClusterSoftwareDiagnostics : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)resetWatermarksWithParams:(MTRSoftwareDiagnosticsClusterResetWatermarksParams * _Nullable)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+- (void)resetWatermarksWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeThreadMetricsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentHeapFreeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentHeapUsedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentHeapHighWatermarkWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Thread Network Diagnostics
+ *
+ */
+@interface MTRClusterThreadNetworkDiagnostics : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)resetCountsWithParams:(MTRThreadNetworkDiagnosticsClusterResetCountsParams * _Nullable)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)resetCountsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeChannelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRoutingRoleWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNetworkNameWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePanIdWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeExtendedPanIdWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeshLocalPrefixWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOverrunCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNeighborTableListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRouteTableListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePartitionIdWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWeightingWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDataVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStableDataVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLeaderRouterIdWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDetachedRoleCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeChildRoleCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRouterRoleCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLeaderRoleCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttachAttemptCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePartitionIdChangeCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBetterPartitionAttachAttemptCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeParentChangeCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxTotalCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxUnicastCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxBroadcastCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxAckRequestedCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxAckedCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxNoAckRequestedCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxDataCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxDataPollCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxBeaconCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxBeaconRequestCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxOtherCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxRetryCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxDirectMaxRetryExpiryCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxIndirectMaxRetryExpiryCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxErrCcaCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxErrAbortCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxErrBusyChannelCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxTotalCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxUnicastCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxBroadcastCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxDataCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxDataPollCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxBeaconCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxBeaconRequestCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxOtherCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxAddressFilteredCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxDestAddrFilteredCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxDuplicatedCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxErrNoFrameCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxErrUnknownNeighborCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxErrInvalidSrcAddrCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxErrSecCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxErrFcsCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRxErrOtherCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveTimestampWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePendingTimestampWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDelayWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSecurityPolicyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeChannelPage0MaskWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOperationalDatasetComponentsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveNetworkFaultsListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster WiFi Network Diagnostics
+ *
+ */
+@interface MTRClusterWiFiNetworkDiagnostics : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)resetCountsWithParams:(MTRWiFiNetworkDiagnosticsClusterResetCountsParams * _Nullable)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)resetCountsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeBssidWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSecurityTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWiFiVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeChannelNumberWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRssiWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBeaconLostCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBeaconRxCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePacketMulticastRxCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePacketMulticastTxCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePacketUnicastRxCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePacketUnicastTxCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentMaxRateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOverrunCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Ethernet Network Diagnostics
+ *
+ */
+@interface MTRClusterEthernetNetworkDiagnostics : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)resetCountsWithParams:(MTREthernetNetworkDiagnosticsClusterResetCountsParams * _Nullable)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)resetCountsWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributePHYRateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFullDuplexWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePacketRxCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePacketTxCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTxErrCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCollisionCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOverrunCountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCarrierDetectWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTimeSinceResetWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Bridged Device Basic
+ *
+ */
+@interface MTRClusterBridgedDeviceBasic : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeVendorIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductNameWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNodeLabelWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNodeLabelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeHardwareVersionStringWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSoftwareVersionStringWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeManufacturingDateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePartNumberWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductURLWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductLabelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSerialNumberWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReachableWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUniqueIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Switch
+ *
+ */
+@interface MTRClusterSwitch : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfPositionsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMultiPressMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster AdministratorCommissioning
+ *
+ */
+@interface MTRClusterAdministratorCommissioning : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)openCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenCommissioningWindowParams *)params
+                           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+- (void)openBasicCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenBasicCommissioningWindowParams *)params
+                                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                             completionHandler:(StatusCompletion)completionHandler;
+- (void)revokeCommissioningWithParams:(MTRAdministratorCommissioningClusterRevokeCommissioningParams * _Nullable)params
+                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+- (void)revokeCommissioningWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                            completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeWindowStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAdminFabricIndexWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAdminVendorIdWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Operational Credentials
+ *
+ */
+@interface MTRClusterOperationalCredentials : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)attestationRequestWithParams:(MTROperationalCredentialsClusterAttestationRequestParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(void (^)(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data,
+                                         NSError * _Nullable error))completionHandler;
+- (void)certificateChainRequestWithParams:(MTROperationalCredentialsClusterCertificateChainRequestParams *)params
+                           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                        completionHandler:(void (^)(MTROperationalCredentialsClusterCertificateChainResponseParams * _Nullable data,
+                                              NSError * _Nullable error))completionHandler;
+- (void)CSRRequestWithParams:(MTROperationalCredentialsClusterCSRRequestParams *)params
+              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+           completionHandler:(void (^)(MTROperationalCredentialsClusterCSRResponseParams * _Nullable data,
+                                 NSError * _Nullable error))completionHandler;
+- (void)addNOCWithParams:(MTROperationalCredentialsClusterAddNOCParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
+                              NSError * _Nullable error))completionHandler;
+- (void)updateNOCWithParams:(MTROperationalCredentialsClusterUpdateNOCParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
+                                NSError * _Nullable error))completionHandler;
+- (void)updateFabricLabelWithParams:(MTROperationalCredentialsClusterUpdateFabricLabelParams *)params
+                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                  completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
+                                        NSError * _Nullable error))completionHandler;
+- (void)removeFabricWithParams:(MTROperationalCredentialsClusterRemoveFabricParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
+                                   NSError * _Nullable error))completionHandler;
+- (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAddTrustedRootCertificateParams *)params
+                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                          completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeNOCsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFabricsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSupportedFabricsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCommissionedFabricsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTrustedRootCertificatesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentFabricIndexWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Group Key Management
+ *
+ */
+@interface MTRClusterGroupKeyManagement : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)keySetWriteWithParams:(MTRGroupKeyManagementClusterKeySetWriteParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)keySetReadWithParams:(MTRGroupKeyManagementClusterKeySetReadParams *)params
+              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+           completionHandler:(void (^)(MTRGroupKeyManagementClusterKeySetReadResponseParams * _Nullable data,
+                                 NSError * _Nullable error))completionHandler;
+- (void)keySetRemoveWithParams:(MTRGroupKeyManagementClusterKeySetRemoveParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+- (void)keySetReadAllIndicesWithParams:(MTRGroupKeyManagementClusterKeySetReadAllIndicesParams *)params
+                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                     completionHandler:(void (^)(MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams * _Nullable data,
+                                           NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeGroupKeyMapWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeGroupKeyMapWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeGroupKeyMapWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGroupTableWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxGroupsPerFabricWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxGroupKeysPerFabricWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Fixed Label
+ *
+ */
+@interface MTRClusterFixedLabel : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster User Label
+ *
+ */
+@interface MTRClusterUserLabel : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLabelListWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLabelListWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Boolean State
+ *
+ */
+@interface MTRClusterBooleanState : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeStateValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Mode Select
+ *
+ */
+@interface MTRClusterModeSelect : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)changeToModeWithParams:(MTRModeSelectClusterChangeToModeParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeDescriptionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStandardNamespaceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSupportedModesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentModeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStartUpModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeStartUpModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeStartUpModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOnModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOnModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOnModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Door Lock
+ *
+ */
+@interface MTRClusterDoorLock : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)lockDoorWithParams:(MTRDoorLockClusterLockDoorParams * _Nullable)params
+            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+         completionHandler:(StatusCompletion)completionHandler;
+- (void)unlockDoorWithParams:(MTRDoorLockClusterUnlockDoorParams * _Nullable)params
+              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+           completionHandler:(StatusCompletion)completionHandler;
+- (void)unlockWithTimeoutWithParams:(MTRDoorLockClusterUnlockWithTimeoutParams *)params
+                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                  completionHandler:(StatusCompletion)completionHandler;
+- (void)setWeekDayScheduleWithParams:(MTRDoorLockClusterSetWeekDayScheduleParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)getWeekDayScheduleWithParams:(MTRDoorLockClusterGetWeekDayScheduleParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(void (^)(MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable data,
+                                         NSError * _Nullable error))completionHandler;
+- (void)clearWeekDayScheduleWithParams:(MTRDoorLockClusterClearWeekDayScheduleParams *)params
+                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                     completionHandler:(StatusCompletion)completionHandler;
+- (void)setYearDayScheduleWithParams:(MTRDoorLockClusterSetYearDayScheduleParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)getYearDayScheduleWithParams:(MTRDoorLockClusterGetYearDayScheduleParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(void (^)(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable data,
+                                         NSError * _Nullable error))completionHandler;
+- (void)clearYearDayScheduleWithParams:(MTRDoorLockClusterClearYearDayScheduleParams *)params
+                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                     completionHandler:(StatusCompletion)completionHandler;
+- (void)setHolidayScheduleWithParams:(MTRDoorLockClusterSetHolidayScheduleParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)getHolidayScheduleWithParams:(MTRDoorLockClusterGetHolidayScheduleParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(void (^)(MTRDoorLockClusterGetHolidayScheduleResponseParams * _Nullable data,
+                                         NSError * _Nullable error))completionHandler;
+- (void)clearHolidayScheduleWithParams:(MTRDoorLockClusterClearHolidayScheduleParams *)params
+                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                     completionHandler:(StatusCompletion)completionHandler;
+- (void)setUserWithParams:(MTRDoorLockClusterSetUserParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)getUserWithParams:(MTRDoorLockClusterGetUserParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:
+            (void (^)(MTRDoorLockClusterGetUserResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)clearUserWithParams:(MTRDoorLockClusterClearUserParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(StatusCompletion)completionHandler;
+- (void)setCredentialWithParams:(MTRDoorLockClusterSetCredentialParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(void (^)(MTRDoorLockClusterSetCredentialResponseParams * _Nullable data,
+                                    NSError * _Nullable error))completionHandler;
+- (void)getCredentialStatusWithParams:(MTRDoorLockClusterGetCredentialStatusParams *)params
+                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                    completionHandler:(void (^)(MTRDoorLockClusterGetCredentialStatusResponseParams * _Nullable data,
+                                          NSError * _Nullable error))completionHandler;
+- (void)clearCredentialWithParams:(MTRDoorLockClusterClearCredentialParams *)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeLockStateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLockTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActuatorEnabledWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDoorStateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDoorOpenEventsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeDoorOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeDoorOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDoorClosedEventsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeDoorClosedEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeDoorClosedEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOpenPeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfTotalUsersSupportedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfPINUsersSupportedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfRFIDUsersSupportedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfYearDaySchedulesSupportedPerUserWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfHolidaySchedulesSupportedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxPINCodeLengthWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinPINCodeLengthWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxRFIDCodeLengthWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinRFIDCodeLengthWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCredentialRulesSupportWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfCredentialsSupportedPerUserWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLanguageWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLanguageWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLanguageWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLEDSettingsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLEDSettingsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLEDSettingsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAutoRelockTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeAutoRelockTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeAutoRelockTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSoundVolumeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeSoundVolumeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeSoundVolumeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOperatingModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOperatingModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOperatingModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSupportedOperatingModesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDefaultConfigurationRegisterWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnableLocalProgrammingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEnableLocalProgrammingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEnableLocalProgrammingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnableOneTouchLockingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEnableOneTouchLockingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEnableOneTouchLockingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnableInsideStatusLEDWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEnableInsideStatusLEDWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEnableInsideStatusLEDWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnablePrivacyModeButtonWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEnablePrivacyModeButtonWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEnablePrivacyModeButtonWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLocalProgrammingFeaturesWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLocalProgrammingFeaturesWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLocalProgrammingFeaturesWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWrongCodeEntryLimitWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeWrongCodeEntryLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeWrongCodeEntryLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUserCodeTemporaryDisableTimeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUserCodeTemporaryDisableTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUserCodeTemporaryDisableTimeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSendPINOverTheAirWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeSendPINOverTheAirWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeSendPINOverTheAirWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                          params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRequirePINforRemoteOperationWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRequirePINforRemoteOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRequirePINforRemoteOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeExpiringUserTimeoutWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeExpiringUserTimeoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeExpiringUserTimeoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Window Covering
+ *
+ */
+@interface MTRClusterWindowCovering : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)upOrOpenWithParams:(MTRWindowCoveringClusterUpOrOpenParams * _Nullable)params
+            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+         completionHandler:(StatusCompletion)completionHandler;
+- (void)upOrOpenWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                 completionHandler:(StatusCompletion)completionHandler;
+- (void)downOrCloseWithParams:(MTRWindowCoveringClusterDownOrCloseParams * _Nullable)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)downOrCloseWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+- (void)stopMotionWithParams:(MTRWindowCoveringClusterStopMotionParams * _Nullable)params
+              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+           completionHandler:(StatusCompletion)completionHandler;
+- (void)stopMotionWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)goToLiftValueWithParams:(MTRWindowCoveringClusterGoToLiftValueParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)goToLiftPercentageWithParams:(MTRWindowCoveringClusterGoToLiftPercentageParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)goToTiltValueWithParams:(MTRWindowCoveringClusterGoToTiltValueParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+- (void)goToTiltPercentageWithParams:(MTRWindowCoveringClusterGoToTiltPercentageParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePhysicalClosedLimitLiftWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePhysicalClosedLimitTiltWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionLiftWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionTiltWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfActuationsLiftWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfActuationsTiltWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeConfigStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionLiftPercentageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionTiltPercentageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOperationalStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTargetPositionLiftPercent100thsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTargetPositionTiltPercent100thsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEndProductTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionLiftPercent100thsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentPositionTiltPercent100thsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstalledOpenLimitLiftWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstalledClosedLimitLiftWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstalledOpenLimitTiltWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstalledClosedLimitTiltWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSafetyStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Barrier Control
+ *
+ */
+@interface MTRClusterBarrierControl : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)barrierControlGoToPercentWithParams:(MTRBarrierControlClusterBarrierControlGoToPercentParams *)params
+                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                          completionHandler:(StatusCompletion)completionHandler;
+- (void)barrierControlStopWithParams:(MTRBarrierControlClusterBarrierControlStopParams * _Nullable)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)barrierControlStopWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                           completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierMovingStateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierSafetyStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierCapabilitiesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierOpenEventsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBarrierOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBarrierOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                          params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierCloseEventsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBarrierCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBarrierCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierCommandOpenEventsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBarrierCommandOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBarrierCommandOpenEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierCommandCloseEventsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBarrierCommandCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBarrierCommandCloseEventsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierOpenPeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBarrierOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBarrierOpenPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                          params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierClosePeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBarrierClosePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBarrierClosePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBarrierPositionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Pump Configuration and Control
+ *
+ */
+@interface MTRClusterPumpConfigurationAndControl : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxPressureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxSpeedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxFlowWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinConstPressureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxConstPressureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinCompPressureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxCompPressureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinConstSpeedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxConstSpeedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinConstFlowWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxConstFlowWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinConstTempWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxConstTempWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePumpStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEffectiveOperationModeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEffectiveControlModeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCapacityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSpeedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLifetimeRunningHoursWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLifetimeRunningHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLifetimeRunningHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLifetimeEnergyConsumedWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLifetimeEnergyConsumedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLifetimeEnergyConsumedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOperationModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeControlModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeControlModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeControlModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Thermostat
+ *
+ */
+@interface MTRClusterThermostat : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)setpointRaiseLowerWithParams:(MTRThermostatClusterSetpointRaiseLowerParams *)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)setWeeklyScheduleWithParams:(MTRThermostatClusterSetWeeklyScheduleParams *)params
+                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                  completionHandler:(StatusCompletion)completionHandler;
+- (void)getWeeklyScheduleWithParams:(MTRThermostatClusterGetWeeklyScheduleParams *)params
+                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                  completionHandler:(void (^)(MTRThermostatClusterGetWeeklyScheduleResponseParams * _Nullable data,
+                                        NSError * _Nullable error))completionHandler;
+- (void)clearWeeklyScheduleWithParams:(MTRThermostatClusterClearWeeklyScheduleParams * _Nullable)params
+                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                    completionHandler:(StatusCompletion)completionHandler;
+- (void)clearWeeklyScheduleWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                            completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeLocalTemperatureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOutdoorTemperatureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupancyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAbsMinHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAbsMaxHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAbsMinCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAbsMaxCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePICoolingDemandWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePIHeatingDemandWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeHVACSystemTypeConfigurationWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLocalTemperatureCalibrationWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLocalTemperatureCalibrationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLocalTemperatureCalibrationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupiedCoolingSetpointWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupiedHeatingSetpointWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedCoolingSetpointWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUnoccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUnoccupiedCoolingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedHeatingSetpointWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUnoccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUnoccupiedHeatingSetpointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeMinHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeMinHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxHeatSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeMaxHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeMaxHeatSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeMinCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeMinCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxCoolSetpointLimitWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeMaxCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeMaxCoolSetpointLimitWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinSetpointDeadBandWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeMinSetpointDeadBandWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeMinSetpointDeadBandWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRemoteSensingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRemoteSensingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRemoteSensingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeControlSequenceOfOperationWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeControlSequenceOfOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeControlSequenceOfOperationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSystemModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeSystemModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeSystemModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeThermostatRunningModeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStartOfWeekWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfWeeklyTransitionsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfDailyTransitionsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTemperatureSetpointHoldWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeTemperatureSetpointHoldWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeTemperatureSetpointHoldWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTemperatureSetpointHoldDurationWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeThermostatProgrammingOperationModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeThermostatProgrammingOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeThermostatProgrammingOperationModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeThermostatRunningStateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSetpointChangeSourceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSetpointChangeAmountWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSetpointChangeSourceTimestampWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupiedSetbackWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupiedSetbackMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupiedSetbackMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedSetbackWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUnoccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUnoccupiedSetbackWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                          params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedSetbackMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUnoccupiedSetbackMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEmergencyHeatDeltaWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEmergencyHeatDeltaWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACTypeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeACTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeACTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACCapacityWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeACCapacityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeACCapacityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACRefrigerantTypeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeACRefrigerantTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeACRefrigerantTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                          params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACCompressorTypeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeACCompressorTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeACCompressorTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACErrorCodeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeACErrorCodeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeACErrorCodeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACLouverPositionWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeACLouverPositionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeACLouverPositionWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACCoilTemperatureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeACCapacityformatWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeACCapacityformatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeACCapacityformatWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Fan Control
+ *
+ */
+@interface MTRClusterFanControl : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeFanModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeFanModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeFanModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFanModeSequenceWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeFanModeSequenceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeFanModeSequenceWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePercentSettingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributePercentSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePercentSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePercentCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSpeedMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSpeedSettingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeSpeedSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeSpeedSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSpeedCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRockSupportWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRockSettingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRockSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRockSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWindSupportWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWindSettingWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeWindSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeWindSettingWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Thermostat User Interface Configuration
+ *
+ */
+@interface MTRClusterThermostatUserInterfaceConfiguration : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeTemperatureDisplayModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeTemperatureDisplayModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeTemperatureDisplayModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeKeypadLockoutWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeKeypadLockoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeKeypadLockoutWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeScheduleProgrammingVisibilityWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeScheduleProgrammingVisibilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeScheduleProgrammingVisibilityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Color Control
+ *
+ */
+@interface MTRClusterColorControl : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)moveToHueWithParams:(MTRColorControlClusterMoveToHueParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(StatusCompletion)completionHandler;
+- (void)moveHueWithParams:(MTRColorControlClusterMoveHueParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)stepHueWithParams:(MTRColorControlClusterStepHueParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)moveToSaturationWithParams:(MTRColorControlClusterMoveToSaturationParams *)params
+                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+             expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                 completionHandler:(StatusCompletion)completionHandler;
+- (void)moveSaturationWithParams:(MTRColorControlClusterMoveSaturationParams *)params
+                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+               completionHandler:(StatusCompletion)completionHandler;
+- (void)stepSaturationWithParams:(MTRColorControlClusterStepSaturationParams *)params
+                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+               completionHandler:(StatusCompletion)completionHandler;
+- (void)moveToHueAndSaturationWithParams:(MTRColorControlClusterMoveToHueAndSaturationParams *)params
+                          expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                   expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                       completionHandler:(StatusCompletion)completionHandler;
+- (void)moveToColorWithParams:(MTRColorControlClusterMoveToColorParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)moveColorWithParams:(MTRColorControlClusterMoveColorParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(StatusCompletion)completionHandler;
+- (void)stepColorWithParams:(MTRColorControlClusterStepColorParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(StatusCompletion)completionHandler;
+- (void)moveToColorTemperatureWithParams:(MTRColorControlClusterMoveToColorTemperatureParams *)params
+                          expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                   expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                       completionHandler:(StatusCompletion)completionHandler;
+- (void)enhancedMoveToHueWithParams:(MTRColorControlClusterEnhancedMoveToHueParams *)params
+                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                  completionHandler:(StatusCompletion)completionHandler;
+- (void)enhancedMoveHueWithParams:(MTRColorControlClusterEnhancedMoveHueParams *)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+- (void)enhancedStepHueWithParams:(MTRColorControlClusterEnhancedStepHueParams *)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+- (void)enhancedMoveToHueAndSaturationWithParams:(MTRColorControlClusterEnhancedMoveToHueAndSaturationParams *)params
+                                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                               completionHandler:(StatusCompletion)completionHandler;
+- (void)colorLoopSetWithParams:(MTRColorControlClusterColorLoopSetParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+- (void)stopMoveStepWithParams:(MTRColorControlClusterStopMoveStepParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+- (void)moveColorTemperatureWithParams:(MTRColorControlClusterMoveColorTemperatureParams *)params
+                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                     completionHandler:(StatusCompletion)completionHandler;
+- (void)stepColorTemperatureWithParams:(MTRColorControlClusterStepColorTemperatureParams *)params
+                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                     completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentHueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentSaturationWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRemainingTimeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentXWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentYWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDriftCompensationWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCompensationTextWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorTemperatureWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorModeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOptionsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOptionsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNumberOfPrimariesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary1XWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary1YWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary1IntensityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary2XWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary2YWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary2IntensityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary3XWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary3YWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary3IntensityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary4XWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary4YWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary4IntensityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary5XWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary5YWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary5IntensityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary6XWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary6YWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePrimary6IntensityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWhitePointXWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeWhitePointXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeWhitePointXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeWhitePointYWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeWhitePointYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeWhitePointYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointRXWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointRXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointRXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointRYWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointRYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointRYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointRIntensityWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointRIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointRIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointGXWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointGXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointGXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointGYWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointGYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointGYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointGIntensityWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointGIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointGIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointBXWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointBXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointBXWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointBYWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointBYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointBYWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorPointBIntensityWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeColorPointBIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeColorPointBIntensityWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnhancedCurrentHueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnhancedColorModeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorLoopActiveWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorLoopDirectionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorLoopTimeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorLoopStartEnhancedHueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorLoopStoredEnhancedHueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorCapabilitiesWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorTempPhysicalMinMiredsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeColorTempPhysicalMaxMiredsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCoupleColorTempToLevelMinMiredsWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStartUpColorTemperatureMiredsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Ballast Configuration
+ *
+ */
+@interface MTRClusterBallastConfiguration : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributePhysicalMinLevelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePhysicalMaxLevelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBallastStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinLevelWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeMinLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeMinLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxLevelWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeMaxLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeMaxLevelWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeIntrinsicBalanceFactorWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBallastFactorAdjustmentWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBallastFactorAdjustmentWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBallastFactorAdjustmentWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLampQuantityWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLampTypeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLampTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLampTypeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLampManufacturerWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLampManufacturerWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLampManufacturerWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLampRatedHoursWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLampRatedHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLampRatedHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLampBurnHoursWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLampBurnHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLampBurnHoursWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLampAlarmModeWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLampAlarmModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLampAlarmModeWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLampBurnHoursTripPointWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLampBurnHoursTripPointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLampBurnHoursTripPointWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Illuminance Measurement
+ *
+ */
+@interface MTRClusterIlluminanceMeasurement : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLightSensorTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Temperature Measurement
+ *
+ */
+@interface MTRClusterTemperatureMeasurement : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Pressure Measurement
+ *
+ */
+@interface MTRClusterPressureMeasurement : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeScaledValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinScaledValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxScaledValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeScaledToleranceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeScaleWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Flow Measurement
+ *
+ */
+@interface MTRClusterFlowMeasurement : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Relative Humidity Measurement
+ *
+ */
+@interface MTRClusterRelativeHumidityMeasurement : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMinMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMaxMeasuredValueWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeToleranceWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Occupancy Sensing
+ *
+ */
+@interface MTRClusterOccupancySensing : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupancyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupancySensorTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOccupancySensorTypeBitmapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePirOccupiedToUnoccupiedDelayWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributePirOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePirOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePirUnoccupiedToOccupiedDelayWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributePirUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePirUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePirUnoccupiedToOccupiedThresholdWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUltrasonicOccupiedToUnoccupiedDelayWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUltrasonicOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUltrasonicOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUltrasonicUnoccupiedToOccupiedDelayWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUltrasonicUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUltrasonicUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUltrasonicUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUltrasonicUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePhysicalContactOccupiedToUnoccupiedDelayWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributePhysicalContactOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePhysicalContactOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePhysicalContactUnoccupiedToOccupiedDelayWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributePhysicalContactUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePhysicalContactUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithParams:
+    (MTRReadParams * _Nullable)params;
+- (void)writeAttributePhysicalContactUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributePhysicalContactUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Wake on LAN
+ *
+ */
+@interface MTRClusterWakeOnLan : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeMACAddressWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Channel
+ *
+ */
+@interface MTRClusterChannel : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)changeChannelWithParams:(MTRChannelClusterChangeChannelParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(void (^)(MTRChannelClusterChangeChannelResponseParams * _Nullable data,
+                                    NSError * _Nullable error))completionHandler;
+- (void)changeChannelByNumberWithParams:(MTRChannelClusterChangeChannelByNumberParams *)params
+                         expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                  expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                      completionHandler:(StatusCompletion)completionHandler;
+- (void)skipChannelWithParams:(MTRChannelClusterSkipChannelParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeChannelListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLineupWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentChannelWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Target Navigator
+ *
+ */
+@interface MTRClusterTargetNavigator : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)navigateTargetWithParams:(MTRTargetNavigatorClusterNavigateTargetParams *)params
+                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+               completionHandler:(void (^)(MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data,
+                                     NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeTargetListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentTargetWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Media Playback
+ *
+ */
+@interface MTRClusterMediaPlayback : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)playWithParams:(MTRMediaPlaybackClusterPlayParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:
+            (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)playWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+             completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                   NSError * _Nullable error))completionHandler;
+- (void)pauseWithParams:(MTRMediaPlaybackClusterPauseParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:
+            (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)pauseWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+              completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                    NSError * _Nullable error))completionHandler;
+- (void)stopPlaybackWithParams:(MTRMediaPlaybackClusterStopPlaybackParams * _Nullable)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                   NSError * _Nullable error))completionHandler;
+- (void)stopPlaybackWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                     completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                           NSError * _Nullable error))completionHandler;
+- (void)startOverWithParams:(MTRMediaPlaybackClusterStartOverParams * _Nullable)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                NSError * _Nullable error))completionHandler;
+- (void)startOverWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                  completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                        NSError * _Nullable error))completionHandler;
+- (void)previousWithParams:(MTRMediaPlaybackClusterPreviousParams * _Nullable)params
+            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+         completionHandler:
+             (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)previousWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                 completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                       NSError * _Nullable error))completionHandler;
+- (void)nextWithParams:(MTRMediaPlaybackClusterNextParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:
+            (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)nextWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+             completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                   NSError * _Nullable error))completionHandler;
+- (void)rewindWithParams:(MTRMediaPlaybackClusterRewindParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:
+            (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+- (void)rewindWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+               completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                     NSError * _Nullable error))completionHandler;
+- (void)fastForwardWithParams:(MTRMediaPlaybackClusterFastForwardParams * _Nullable)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                  NSError * _Nullable error))completionHandler;
+- (void)fastForwardWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                    completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                          NSError * _Nullable error))completionHandler;
+- (void)skipForwardWithParams:(MTRMediaPlaybackClusterSkipForwardParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                  NSError * _Nullable error))completionHandler;
+- (void)skipBackwardWithParams:(MTRMediaPlaybackClusterSkipBackwardParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
+                                   NSError * _Nullable error))completionHandler;
+- (void)seekWithParams:(MTRMediaPlaybackClusterSeekParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:
+            (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentStateWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStartTimeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDurationWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSampledPositionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePlaybackSpeedWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSeekRangeEndWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSeekRangeStartWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Media Input
+ *
+ */
+@interface MTRClusterMediaInput : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)selectInputWithParams:(MTRMediaInputClusterSelectInputParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+- (void)showInputStatusWithParams:(MTRMediaInputClusterShowInputStatusParams * _Nullable)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+- (void)showInputStatusWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+- (void)hideInputStatusWithParams:(MTRMediaInputClusterHideInputStatusParams * _Nullable)params
+                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                completionHandler:(StatusCompletion)completionHandler;
+- (void)hideInputStatusWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                        completionHandler:(StatusCompletion)completionHandler;
+- (void)renameInputWithParams:(MTRMediaInputClusterRenameInputParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeInputListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentInputWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Low Power
+ *
+ */
+@interface MTRClusterLowPower : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)sleepWithParams:(MTRLowPowerClusterSleepParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)sleepWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+              completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Keypad Input
+ *
+ */
+@interface MTRClusterKeypadInput : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)sendKeyWithParams:(MTRKeypadInputClusterSendKeyParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:
+            (void (^)(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Content Launcher
+ *
+ */
+@interface MTRClusterContentLauncher : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)launchContentWithParams:(MTRContentLauncherClusterLaunchContentParams *)params
+                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+              completionHandler:(void (^)(MTRContentLauncherClusterLaunchResponseParams * _Nullable data,
+                                    NSError * _Nullable error))completionHandler;
+- (void)launchURLWithParams:(MTRContentLauncherClusterLaunchURLParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(void (^)(MTRContentLauncherClusterLaunchResponseParams * _Nullable data,
+                                NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptHeaderWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeSupportedStreamingProtocolsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeSupportedStreamingProtocolsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeSupportedStreamingProtocolsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Audio Output
+ *
+ */
+@interface MTRClusterAudioOutput : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)selectOutputWithParams:(MTRAudioOutputClusterSelectOutputParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+- (void)renameOutputWithParams:(MTRAudioOutputClusterRenameOutputParams *)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeOutputListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentOutputWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Application Launcher
+ *
+ */
+@interface MTRClusterApplicationLauncher : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)launchAppWithParams:(MTRApplicationLauncherClusterLaunchAppParams *)params
+             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+          completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
+                                NSError * _Nullable error))completionHandler;
+- (void)stopAppWithParams:(MTRApplicationLauncherClusterStopAppParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
+                              NSError * _Nullable error))completionHandler;
+- (void)hideAppWithParams:(MTRApplicationLauncherClusterHideAppParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
+                              NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeCatalogListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentAppWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeCurrentAppWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeCurrentAppWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Application Basic
+ *
+ */
+@interface MTRClusterApplicationBasic : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (NSDictionary<NSString *, id> *)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeVendorIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeApplicationNameWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeProductIDWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeApplicationWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStatusWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeApplicationVersionWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAllowedVendorListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Account Login
+ *
+ */
+@interface MTRClusterAccountLogin : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)getSetupPINWithParams:(MTRAccountLoginClusterGetSetupPINParams *)params
+               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+            completionHandler:(void (^)(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data,
+                                  NSError * _Nullable error))completionHandler;
+- (void)loginWithParams:(MTRAccountLoginClusterLoginParams *)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)logoutWithParams:(MTRAccountLoginClusterLogoutParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)logoutWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+               completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Electrical Measurement
+ *
+ */
+@interface MTRClusterElectricalMeasurement : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)getProfileInfoCommandWithParams:(MTRElectricalMeasurementClusterGetProfileInfoCommandParams * _Nullable)params
+                         expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                  expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                      completionHandler:(StatusCompletion)completionHandler;
+- (void)getProfileInfoCommandWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                              completionHandler:(StatusCompletion)completionHandler;
+- (void)getMeasurementProfileCommandWithParams:(MTRElectricalMeasurementClusterGetMeasurementProfileCommandParams *)params
+                                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                             completionHandler:(StatusCompletion)completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasurementTypeWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcVoltageMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcVoltageMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcCurrentMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcCurrentMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcPowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcPowerMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcPowerMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcVoltageMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcVoltageDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcCurrentDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcPowerMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeDcPowerDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNeutralCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTotalActivePowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTotalReactivePowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTotalApparentPowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasured1stHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasured3rdHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasured5thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasured7thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasured9thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasured11thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase1stHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase3rdHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase5thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase7thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase9thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeMeasuredPhase11thHarmonicCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcFrequencyDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePowerMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePowerDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeHarmonicCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePhaseHarmonicCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstantaneousVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstantaneousLineCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstantaneousActiveCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstantaneousReactiveCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInstantaneousPowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerMinWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerMaxWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReactivePowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeApparentPowerWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePowerFactorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsVoltageMeasurementPeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeAverageRmsVoltageMeasurementPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeAverageRmsVoltageMeasurementPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageCounterWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeAverageRmsUnderVoltageCounterWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeAverageRmsUnderVoltageCounterWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltagePeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRmsExtremeOverVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRmsExtremeOverVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltagePeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRmsExtremeUnderVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRmsExtremeUnderVoltagePeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagPeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRmsVoltageSagPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRmsVoltageSagPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellPeriodWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRmsVoltageSwellPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRmsVoltageSwellPeriodWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcVoltageMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcVoltageDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcCurrentMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcCurrentDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcPowerMultiplierWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcPowerDivisorWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOverloadAlarmsMaskWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeVoltageOverloadWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCurrentOverloadWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcOverloadAlarmsMaskWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeAcOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeAcOverloadAlarmsMaskWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcVoltageOverloadWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcCurrentOverloadWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcActivePowerOverloadWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcReactivePowerOverloadWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsOverVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltageWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLineCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReactiveCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltagePhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMinPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMaxPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMinPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMaxPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerMinPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerMaxPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReactivePowerPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeApparentPowerPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePowerFactorPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsOverVoltageCounterPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageCounterPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltagePeriodPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagPeriodPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellPeriodPhaseBWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLineCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActiveCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReactiveCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltagePhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMinPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageMaxPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMinPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsCurrentMaxPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerMinPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeActivePowerMaxPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeReactivePowerPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeApparentPowerPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributePowerFactorPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsOverVoltageCounterPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAverageRmsUnderVoltageCounterPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeOverVoltagePeriodPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSagPeriodPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRmsVoltageSwellPeriodPhaseCWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+/**
+ * Cluster Test Cluster
+ *
+ */
+@interface MTRClusterTestCluster : MTRCluster
+
+- (nullable instancetype)initWithDevice:(MTRDevice *)device
+                               endpoint:(uint16_t)endpoint
+                                  queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER;
+
+- (void)testWithParams:(MTRTestClusterClusterTestParams * _Nullable)params
+           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+        completionHandler:(StatusCompletion)completionHandler;
+- (void)testWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+             completionHandler:(StatusCompletion)completionHandler;
+- (void)testNotHandledWithParams:(MTRTestClusterClusterTestNotHandledParams * _Nullable)params
+                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+               completionHandler:(StatusCompletion)completionHandler;
+- (void)testNotHandledWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                       completionHandler:(StatusCompletion)completionHandler;
+- (void)testSpecificWithParams:(MTRTestClusterClusterTestSpecificParams * _Nullable)params
+                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+             completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
+                                   NSError * _Nullable error))completionHandler;
+- (void)testSpecificWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                     completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
+                                           NSError * _Nullable error))completionHandler;
+- (void)testUnknownCommandWithParams:(MTRTestClusterClusterTestUnknownCommandParams * _Nullable)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)testUnknownCommandWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                           completionHandler:(StatusCompletion)completionHandler;
+- (void)testAddArgumentsWithParams:(MTRTestClusterClusterTestAddArgumentsParams *)params
+                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+             expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                 completionHandler:(void (^)(MTRTestClusterClusterTestAddArgumentsResponseParams * _Nullable data,
+                                       NSError * _Nullable error))completionHandler;
+- (void)testSimpleArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleArgumentRequestParams *)params
+                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                          completionHandler:(void (^)(MTRTestClusterClusterTestSimpleArgumentResponseParams * _Nullable data,
+                                                NSError * _Nullable error))completionHandler;
+- (void)testStructArrayArgumentRequestWithParams:(MTRTestClusterClusterTestStructArrayArgumentRequestParams *)params
+                                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                               completionHandler:
+                                   (void (^)(MTRTestClusterClusterTestStructArrayArgumentResponseParams * _Nullable data,
+                                       NSError * _Nullable error))completionHandler;
+- (void)testStructArgumentRequestWithParams:(MTRTestClusterClusterTestStructArgumentRequestParams *)params
+                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                          completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
+                                                NSError * _Nullable error))completionHandler;
+- (void)testNestedStructArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructArgumentRequestParams *)params
+                                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                                completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
+                                                      NSError * _Nullable error))completionHandler;
+- (void)testListStructArgumentRequestWithParams:(MTRTestClusterClusterTestListStructArgumentRequestParams *)params
+                                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                              completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
+                                                    NSError * _Nullable error))completionHandler;
+- (void)testListInt8UArgumentRequestWithParams:(MTRTestClusterClusterTestListInt8UArgumentRequestParams *)params
+                                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                             completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
+                                                   NSError * _Nullable error))completionHandler;
+- (void)testNestedStructListArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructListArgumentRequestParams *)params
+                                       expectedValues:
+                                           (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                                    completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
+                                                          NSError * _Nullable error))completionHandler;
+- (void)testListNestedStructListArgumentRequestWithParams:
+            (MTRTestClusterClusterTestListNestedStructListArgumentRequestParams *)params
+                                           expectedValues:
+                                               (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                                    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                                        completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
+                                                              NSError * _Nullable error))completionHandler;
+- (void)testListInt8UReverseRequestWithParams:(MTRTestClusterClusterTestListInt8UReverseRequestParams *)params
+                               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                            completionHandler:(void (^)(MTRTestClusterClusterTestListInt8UReverseResponseParams * _Nullable data,
+                                                  NSError * _Nullable error))completionHandler;
+- (void)testEnumsRequestWithParams:(MTRTestClusterClusterTestEnumsRequestParams *)params
+                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+             expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                 completionHandler:(void (^)(MTRTestClusterClusterTestEnumsResponseParams * _Nullable data,
+                                       NSError * _Nullable error))completionHandler;
+- (void)testNullableOptionalRequestWithParams:(MTRTestClusterClusterTestNullableOptionalRequestParams * _Nullable)params
+                               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                        expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                            completionHandler:(void (^)(MTRTestClusterClusterTestNullableOptionalResponseParams * _Nullable data,
+                                                  NSError * _Nullable error))completionHandler;
+- (void)testComplexNullableOptionalRequestWithParams:(MTRTestClusterClusterTestComplexNullableOptionalRequestParams *)params
+                                      expectedValues:
+                                          (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                                   completionHandler:
+                                       (void (^)(MTRTestClusterClusterTestComplexNullableOptionalResponseParams * _Nullable data,
+                                           NSError * _Nullable error))completionHandler;
+- (void)simpleStructEchoRequestWithParams:(MTRTestClusterClusterSimpleStructEchoRequestParams *)params
+                           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                    expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                        completionHandler:(void (^)(MTRTestClusterClusterSimpleStructResponseParams * _Nullable data,
+                                              NSError * _Nullable error))completionHandler;
+- (void)timedInvokeRequestWithParams:(MTRTestClusterClusterTimedInvokeRequestParams * _Nullable)params
+                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                   completionHandler:(StatusCompletion)completionHandler;
+- (void)timedInvokeRequestWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                           completionHandler:(StatusCompletion)completionHandler;
+- (void)testSimpleOptionalArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
+                                     expectedValues:
+                                         (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                                  completionHandler:(StatusCompletion)completionHandler;
+- (void)testEmitTestEventRequestWithParams:(MTRTestClusterClusterTestEmitTestEventRequestParams *)params
+                            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                         completionHandler:(void (^)(MTRTestClusterClusterTestEmitTestEventResponseParams * _Nullable data,
+                                               NSError * _Nullable error))completionHandler;
+- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams *)params
+                                        expectedValues:
+                                            (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
+                                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
+                                     completionHandler:
+                                         (void (^)(
+                                             MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
+                                             NSError * _Nullable error))completionHandler;
+
+- (NSDictionary<NSString *, id> *)readAttributeBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBitmap8WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBitmap16WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBitmap32WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeBitmap64WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt24uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt32uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt40uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt48uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt56uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt64uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt24sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt32sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt40sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt48sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt56sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeInt64sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnum8WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnum16WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFloatSingleWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFloatDoubleWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeListInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeListInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeListInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                  params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeListOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeListOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeListOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeListStructOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeListStructOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeListStructOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLongOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeCharStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeLongCharStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeLongCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeLongCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEpochUsWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEpochUsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEpochUsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEpochSWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEpochSWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEpochSWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                               params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeVendorIdWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeVendorIdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeVendorIdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeListNullablesAndOptionalsStructWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeEnumAttrWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                 params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeStructAttrWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeStructAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeStructAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                   params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                             params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                              params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeListLongOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeListLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeListLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeListFabricScopedWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeListFabricScopedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeListFabricScopedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeTimedWriteBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeTimedWriteBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeTimedWriteBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                          params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneralErrorBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeGeneralErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeGeneralErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterErrorBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeClusterErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeClusterErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeUnsupportedWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeUnsupportedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeUnsupportedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                    params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap8WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                        params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap16WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap32WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap64WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt24uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt32uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt40uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt48uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt56uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt64uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt24sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt32sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt40sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt48sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt56sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt64sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableEnum8WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableEnum16WithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableFloatSingleWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableFloatDoubleWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                            params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableCharStringWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                           params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableEnumAttrWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                         params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableStructWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                     params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                                      params:(MTRWriteParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h
--- /Applications/Xcode_14.0.0-beta6.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h	2022-08-03 19:10:50.000000000 -0400
+++ /Applications/Xcode_14.1.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/Matter.framework/Headers/MTRCommandPayloadsObjc.h	2022-09-07 23:55:48.000000000 -0400
@@ -22,9 +22,9 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface MTRIdentifyClusterIdentifyParams : NSObject
+@interface MTRIdentifyClusterIdentifyParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull identifyTime;
+@property (nonatomic, copy) NSNumber * _Nonnull identifyTime;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -39,16 +39,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRIdentifyClusterTriggerEffectParams : NSObject
+@interface MTRIdentifyClusterTriggerEffectParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull effectIdentifier;
+@property (nonatomic, copy) NSNumber * _Nonnull effectIdentifier;
 
-@property (strong, nonatomic) NSNumber * _Nonnull effectVariant;
+@property (nonatomic, copy) NSNumber * _Nonnull effectVariant;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -63,16 +63,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterAddGroupParams : NSObject
+@interface MTRGroupsClusterAddGroupParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSString * _Nonnull groupName;
+@property (nonatomic, copy) NSString * _Nonnull groupName;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -87,16 +87,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterAddGroupResponseParams : NSObject
+@interface MTRGroupsClusterAddGroupResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -111,14 +111,14 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterViewGroupParams : NSObject
+@interface MTRGroupsClusterViewGroupParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -133,18 +133,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterViewGroupResponseParams : NSObject
+@interface MTRGroupsClusterViewGroupResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSString * _Nonnull groupName;
+@property (nonatomic, copy) NSString * _Nonnull groupName;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -159,14 +159,14 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterGetGroupMembershipParams : NSObject
+@interface MTRGroupsClusterGetGroupMembershipParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSArray * _Nonnull groupList;
+@property (nonatomic, copy) NSArray * _Nonnull groupList;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -181,16 +181,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterGetGroupMembershipResponseParams : NSObject
+@interface MTRGroupsClusterGetGroupMembershipResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nullable capacity;
+@property (nonatomic, copy) NSNumber * _Nullable capacity;
 
-@property (strong, nonatomic) NSArray * _Nonnull groupList;
+@property (nonatomic, copy) NSArray * _Nonnull groupList;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -205,14 +205,14 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterRemoveGroupParams : NSObject
+@interface MTRGroupsClusterRemoveGroupParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -227,16 +227,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterRemoveGroupResponseParams : NSObject
+@interface MTRGroupsClusterRemoveGroupResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -251,12 +251,12 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterRemoveAllGroupsParams : NSObject
+@interface MTRGroupsClusterRemoveAllGroupsParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -271,16 +271,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRGroupsClusterAddGroupIfIdentifyingParams : NSObject
+@interface MTRGroupsClusterAddGroupIfIdentifyingParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSString * _Nonnull groupName;
+@property (nonatomic, copy) NSString * _Nonnull groupName;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -295,22 +295,22 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterAddSceneParams : NSObject
+@interface MTRScenesClusterAddSceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull transitionTime;
+@property (nonatomic, copy) NSNumber * _Nonnull transitionTime;
 
-@property (strong, nonatomic) NSString * _Nonnull sceneName;
+@property (nonatomic, copy) NSString * _Nonnull sceneName;
 
-@property (strong, nonatomic) NSArray * _Nonnull extensionFieldSets;
+@property (nonatomic, copy) NSArray * _Nonnull extensionFieldSets;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -325,18 +325,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterAddSceneResponseParams : NSObject
+@interface MTRScenesClusterAddSceneResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -351,16 +351,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterViewSceneParams : NSObject
+@interface MTRScenesClusterViewSceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -375,24 +375,24 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterViewSceneResponseParams : NSObject
+@interface MTRScenesClusterViewSceneResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 
-@property (strong, nonatomic) NSNumber * _Nullable transitionTime;
+@property (nonatomic, copy) NSNumber * _Nullable transitionTime;
 
-@property (strong, nonatomic) NSString * _Nullable sceneName;
+@property (nonatomic, copy) NSString * _Nullable sceneName;
 
-@property (strong, nonatomic) NSArray * _Nullable extensionFieldSets;
+@property (nonatomic, copy) NSArray * _Nullable extensionFieldSets;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -407,16 +407,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterRemoveSceneParams : NSObject
+@interface MTRScenesClusterRemoveSceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -431,18 +431,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterRemoveSceneResponseParams : NSObject
+@interface MTRScenesClusterRemoveSceneResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -457,14 +457,14 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterRemoveAllScenesParams : NSObject
+@interface MTRScenesClusterRemoveAllScenesParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -479,16 +479,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterRemoveAllScenesResponseParams : NSObject
+@interface MTRScenesClusterRemoveAllScenesResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -503,16 +503,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterStoreSceneParams : NSObject
+@interface MTRScenesClusterStoreSceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -527,18 +527,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterStoreSceneResponseParams : NSObject
+@interface MTRScenesClusterStoreSceneResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -553,18 +553,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterRecallSceneParams : NSObject
+@interface MTRScenesClusterRecallSceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 
-@property (strong, nonatomic) NSNumber * _Nullable transitionTime;
+@property (nonatomic, copy) NSNumber * _Nullable transitionTime;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -579,14 +579,14 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterGetSceneMembershipParams : NSObject
+@interface MTRScenesClusterGetSceneMembershipParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -601,20 +601,20 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterGetSceneMembershipResponseParams : NSObject
+@interface MTRScenesClusterGetSceneMembershipResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nullable capacity;
+@property (nonatomic, copy) NSNumber * _Nullable capacity;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSArray * _Nullable sceneList;
+@property (nonatomic, copy) NSArray * _Nullable sceneList;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -629,22 +629,22 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterEnhancedAddSceneParams : NSObject
+@interface MTRScenesClusterEnhancedAddSceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull transitionTime;
+@property (nonatomic, copy) NSNumber * _Nonnull transitionTime;
 
-@property (strong, nonatomic) NSString * _Nonnull sceneName;
+@property (nonatomic, copy) NSString * _Nonnull sceneName;
 
-@property (strong, nonatomic) NSArray * _Nonnull extensionFieldSets;
+@property (nonatomic, copy) NSArray * _Nonnull extensionFieldSets;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -659,18 +659,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterEnhancedAddSceneResponseParams : NSObject
+@interface MTRScenesClusterEnhancedAddSceneResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -685,16 +685,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterEnhancedViewSceneParams : NSObject
+@interface MTRScenesClusterEnhancedViewSceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -709,24 +709,24 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterEnhancedViewSceneResponseParams : NSObject
+@interface MTRScenesClusterEnhancedViewSceneResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupId;
+@property (nonatomic, copy) NSNumber * _Nonnull groupId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneId;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneId;
 
-@property (strong, nonatomic) NSNumber * _Nullable transitionTime;
+@property (nonatomic, copy) NSNumber * _Nullable transitionTime;
 
-@property (strong, nonatomic) NSString * _Nullable sceneName;
+@property (nonatomic, copy) NSString * _Nullable sceneName;
 
-@property (strong, nonatomic) NSArray * _Nullable extensionFieldSets;
+@property (nonatomic, copy) NSArray * _Nullable extensionFieldSets;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -741,22 +741,22 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterCopySceneParams : NSObject
+@interface MTRScenesClusterCopySceneParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull mode;
+@property (nonatomic, copy) NSNumber * _Nonnull mode;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupIdFrom;
+@property (nonatomic, copy) NSNumber * _Nonnull groupIdFrom;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneIdFrom;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneIdFrom;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupIdTo;
+@property (nonatomic, copy) NSNumber * _Nonnull groupIdTo;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneIdTo;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneIdTo;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -771,18 +771,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRScenesClusterCopySceneResponseParams : NSObject
+@interface MTRScenesClusterCopySceneResponseParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status;
 
-@property (strong, nonatomic) NSNumber * _Nonnull groupIdFrom;
+@property (nonatomic, copy) NSNumber * _Nonnull groupIdFrom;
 
-@property (strong, nonatomic) NSNumber * _Nonnull sceneIdFrom;
+@property (nonatomic, copy) NSNumber * _Nonnull sceneIdFrom;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -797,12 +797,12 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTROnOffClusterOffParams : NSObject
+@interface MTROnOffClusterOffParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -817,12 +817,12 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTROnOffClusterOnParams : NSObject
+@interface MTROnOffClusterOnParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -837,12 +837,12 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTROnOffClusterToggleParams : NSObject
+@interface MTROnOffClusterToggleParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -857,16 +857,16 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTROnOffClusterOffWithEffectParams : NSObject
+@interface MTROnOffClusterOffWithEffectParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull effectId;
+@property (nonatomic, copy) NSNumber * _Nonnull effectId;
 
-@property (strong, nonatomic) NSNumber * _Nonnull effectVariant;
+@property (nonatomic, copy) NSNumber * _Nonnull effectVariant;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -881,12 +881,12 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTROnOffClusterOnWithRecallGlobalSceneParams : NSObject
+@interface MTROnOffClusterOnWithRecallGlobalSceneParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -901,18 +901,18 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTROnOffClusterOnWithTimedOffParams : NSObject
+@interface MTROnOffClusterOnWithTimedOffParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull onOffControl;
+@property (nonatomic, copy) NSNumber * _Nonnull onOffControl;
 
-@property (strong, nonatomic) NSNumber * _Nonnull onTime;
+@property (nonatomic, copy) NSNumber * _Nonnull onTime;
 
-@property (strong, nonatomic) NSNumber * _Nonnull offWaitTime;
+@property (nonatomic, copy) NSNumber * _Nonnull offWaitTime;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -927,20 +927,20 @@
  * request) within the timeout window.
  *
  */
-@property (strong, nonatomic, nullable) NSNumber * timedInvokeTimeoutMs;
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 
 - (instancetype)init;
-
+- (id)copyWithZone:(nullable NSZone *)zone;
 @end
-@interface MTRLevelControlClusterMoveToLevelParams : NSObject
+@interface MTRLevelControlClusterMoveToLevelParams : NSObject <NSCopying>
 
-@property (strong, nonatomic) NSNumber * _Nonnull level;
+@property (nonatomic, copy) NSNumber * _Nonnull level;
 
-@property (strong, nonatomic) NSNumber * _Nonnull transitionTime;
+@property (nonatomic, copy) NSNumber * _Nullable transitionTime;
 
-@property (strong, nonatomic) NSNumber * _Nonnull optionMask;
+@property (nonatomic, copy) NSNumber * _Nonnull optionsMask;
 
-@property (strong, nonatomic) NSNumber * _Nonnull optionOverride;
+@property (nonatomic, copy) NSNumber * _Nonnull optionsOverride;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -955,20 +955,20 @@
  * request) within the timeout window.
  *
  */
-@property (s
Clone this wiki locally