Add Darwin backwards-compat shims for the TestCluster rename. (#23611)

https://github.com/project-chip/connectedhomeip/pull/23495 renamed "TestCluster"
to "UnitTesting", which changed a bunch of Darwin APIs.  This PR puts in place
backwards-compat shims to avoid API changes.  Specifically, compared to revision
9a41c9c3d971797010ab9de4eb04804015674fb0 (right before #23495 landed), the
changes to Darwin code end up looking like this:

1. MTRAttributeTLVValueDecoder.mm: internal-only changes to cluster ids.
2. MTRBaseClusters.h:
   * MTRBaseClusterTestCluster renamed to MTRBaseClusterUnitTesting, which is
     marked MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRBaseClusterUnitTesting that are
     marked MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRBaseClusterTestCluster is added as a subclass of
     MTRBaseClusterUnitTesting.
   * The MTRBaseClusterTestCluster (Deprecated) bits are not changed at all.
   * The MTRUnitTesting enums/bitmaps are added as MTR_NEWLY_AVAILABLE.
   * The MTRTestCluster enums/bitmaps are marked as MTR_NEWLY_DEPRECATED.
3. MTRBaseClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers to handle the fact that for MTRBaseClusterTestCluster
   (Deprecated) the types in the completions are TestCluster but we want to
   call things that expect UnitTesting types, so we have to cast between them.
   We could restrict these shims to just TestCluster with enough work, but it
   does not seem worth it.
4. MTRBaseClusters_internal.h: just follows the renaming from MTRBaseClusters.h
5. MTRCallbackBridge.mm: just follows the renamings of the various struct types,
   commands, etc..
6. MTRCallbackBridge_internal.h: just follows the renaming of the various
   struct types.
7. MTRClusterConstants.h: marks the old constants as MTR_NEWLY_DEPRECATED and
   adds the new constants as MTR_NEWLY_AVAILABLE.
8. MTRClusters.h:
   * MTRClusterTestCluster renamed to MTRClusterUnitTesting, which is marked
     MTR_NEWLY_AVAILABLE.
   * Various modifications to methods on MTRClusterUnitTesting that are marked
     MTR_NEWLY_AVAILABLE, so these changes are OK.
   * MTRClusterTestCluster is added as a subclass of MTRClusterUnitTesting.
   * The MTRClusterTestCluster (Deprecated) bits are not changed at all.
9. MTRClusters.mm: The various (Deprecated) bits get shims on the
   completion handlers, like for MTRBaseClusters.mm above.
10. MTRClusters_internal.h: Just follows the renaming from MTRClusters.h
11. MTRCommandPayloadsObjc.h:
    * Renames payload structs to UnitTesting, marks them MTR_NEWLY_AVAILABLE
    * Adds subclasses of the payload structs with the old name that
      are marked as MTR_NEWLY_DEPRECATED and have no extra selectors.
    * Changes types of struct members of payloads to have the UnitTesting types.
12. MTRCommandPayloadsObjc.mm: just follows the header changes.
13. MTREventTLVValueDecoder.mm: Internal changes to ID names.
14. MTRStructsObjc.h:
    * Renames structs defined in the unit testing cluster to UnitTesting names,
      marks them MTR_NEWLY_AVAILABLE.
    * Adds subclasses of the structs with the old name that are marked as
      MTR_NEWLY_DEPRECATED and have no extra selectors.
15. MTRStructsObjc.mm: just follows the header changes.
diff --git a/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt b/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt
index 768ae19..a8a4c9d 100644
--- a/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt
@@ -237,18 +237,32 @@
 {{/chip_server_cluster_attributes}}
 
 @end
+{{#if (isStrEqual (asUpperCamelCase name) "UnitTesting")}}
 
-@implementation MTRBaseCluster{{asUpperCamelCase name}} (Deprecated)
+@implementation MTRBaseClusterTestCluster
+@end
+{{/if}}
+
+@implementation MTRBaseCluster{{compatClusterNameRemapping name}} (Deprecated)
 
 {{#chip_cluster_commands}}
-- (void){{asLowerCamelCase name}}WithParams:(MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params completionHandler:({{>command_completion_type command=.}})completionHandler
+- (void){{asLowerCamelCase name}}WithParams:(MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
 {
-  [self {{asLowerCamelCase name}}WithParams:params completion:completionHandler];
+  [self {{asLowerCamelCase name}}WithParams:params completion:
+    {{#if hasSpecificResponse}}
+    ^(MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase responseName}}Params * _Nullable data, NSError * _Nullable error) {
+      // Cast is safe because subclass does not add any selectors.
+      completionHandler(static_cast<MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase responseName}}Params *>(data), error);
+    }
+    {{else}}
+    completionHandler
+    {{/if}}
+    ];
 }
 {{#unless (hasArguments)}}
-- (void){{asLowerCamelCase name}}WithCompletionHandler:({{>command_completion_type command=.}})completionHandler
+- (void){{asLowerCamelCase name}}WithCompletionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
 {
-  [self {{asLowerCamelCase name}}WithParams:nil completion:completionHandler];
+  [self {{asLowerCamelCase name}}WithParams:nil completionHandler:completionHandler];
 }
 {{/unless}}
 {{/chip_cluster_commands}}
@@ -263,16 +277,20 @@
 {{~else~}}
   CompletionHandler:
 {{~/if_is_fabric_scoped_struct~}}
-(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completionHandler
+(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler
 {
-  [self readAttribute{{asUpperCamelCase name}}With{{#if_is_fabric_scoped_struct type}}Params:params completion:{{else}}Completion:{{/if_is_fabric_scoped_struct}}completionHandler];
+  [self readAttribute{{asUpperCamelCase name}}With{{#if_is_fabric_scoped_struct type}}Params:params completion:{{else}}Completion:{{/if_is_fabric_scoped_struct}}
+      ^({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<{{asObjectiveCClass type parent.name compatRemapClusterName=true}} *>(value), error);
+      }];
 }
 {{#if isWritableAttribute}}
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value completionHandler:(MTRStatusCompletion)completionHandler
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value completionHandler:(MTRStatusCompletion)completionHandler
 {
   [self writeAttribute{{asUpperCamelCase name}}WithValue:value params:nil completion:completionHandler];
 }
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value params:(MTRWriteParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value params:(MTRWriteParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler
 {
   [self writeAttribute{{asUpperCamelCase name}}WithValue:value params:params completion:completionHandler];
 }
@@ -280,7 +298,7 @@
 {{#if isReportableAttribute}}
 - (void) subscribe{{>attribute}}WithMinInterval:(NSNumber * _Nonnull)minInterval  maxInterval:(NSNumber * _Nonnull)maxInterval
        params:(MTRSubscribeParams * _Nullable)params
-subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))reportHandler
+subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))reportHandler
 {
   MTRSubscribeParams * _Nullable subscribeParams = [params copy];
   if (subscribeParams == nil) {
@@ -289,11 +307,19 @@
       subscribeParams.minInterval = minInterval;
       subscribeParams.maxInterval = maxInterval;
   }
-  [self subscribeAttribute{{asUpperCamelCase name}}WithParams:subscribeParams subscriptionEstablished:subscriptionEstablishedHandler reportHandler:reportHandler];
+  [self subscribeAttribute{{asUpperCamelCase name}}WithParams:subscribeParams subscriptionEstablished:subscriptionEstablishedHandler reportHandler:
+     ^({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error) {
+       // Cast is safe because subclass does not add any selectors.
+       reportHandler(static_cast<{{asObjectiveCClass type parent.name compatRemapClusterName=true}} *>(value), error)     ;
+     }];
 }
-+ (void) read{{>attribute}}WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completionHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completionHandler
++ (void) read{{>attribute}}WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completionHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler
 {
-  [self readAttribute{{asUpperCamelCase name}}WithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+  [self readAttribute{{asUpperCamelCase name}}WithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:
+      ^({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<{{asObjectiveCClass type parent.name compatRemapClusterName=true}} *>(value), error);
+      }];
 }
 {{/if}}
 {{/chip_server_cluster_attributes}}
@@ -308,4 +334,5 @@
 @end
 
 {{/chip_client_clusters}}
+
 // NOLINTEND(clang-analyzer-cplusplus.NewDeleteLeaks)
diff --git a/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt b/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt
index e9c1326..2ee582e 100644
--- a/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt
@@ -16,6 +16,9 @@
  * Cluster {{name}}
  *    {{description}}
  */
+{{#if (isStrEqual (asUpperCamelCase name) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{/if}}
 @interface MTRBaseCluster{{asUpperCamelCase name}} : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device
@@ -60,19 +63,37 @@
 
 {{/chip_client_clusters}}
 
+MTR_NEWLY_DEPRECATED("Please use MTRBaseClusterUnitTesting")
+@interface MTRBaseClusterTestCluster : MTRBaseClusterUnitTesting
+@end
+
 {{#zcl_clusters}}
 {{#zcl_enums}}
-typedef NS_ENUM({{asUnderlyingZclType name}}, {{objCEnumName ../name label}}) {
+{{#*inline "enumDef"}}
+typedef NS_ENUM({{asUnderlyingZclType name}}, {{objCEnumName clusterName label}}) {
    {{#zcl_enum_items}}
-   {{objCEnumName ../../name ../label}}{{objCEnumItemLabel label}} = {{asHex value 2}},
+   {{objCEnumName ../clusterName ../label}}{{objCEnumItemLabel label}} = {{asHex value 2}},
    {{/zcl_enum_items}}
-};
+}
+{{#if (isStrEqual (asUpperCamelCase clusterName) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{else if (isStrEqual (asUpperCamelCase clusterName) "TestCluster")}}
+MTR_NEWLY_DEPRECATED("Please use {{objCEnumName "UnitTesting" label}}")
+{{/if}}
+;
+{{/inline}}
+{{> enumDef name=name clusterName=../name label=label}}
 
+{{#if (isStrEqual (asUpperCamelCase ../name) "UnitTesting")}}
+{{> enumDef name=name clusterName="TestCluster" label=label}}
+
+{{/if}}
 {{/zcl_enums}}
 {{#zcl_bitmaps}}
-typedef NS_OPTIONS({{asUnderlyingZclType name}}, {{objCEnumName ../name label}}) {
+{{#*inline "bitmapDef"}}
+typedef NS_OPTIONS({{asUnderlyingZclType name}}, {{objCEnumName clusterName label}}) {
    {{#zcl_bitmap_items}}
-   {{objCEnumName ../../name ../label}}{{objCEnumItemLabel label}} = {{asHex mask}},
+   {{objCEnumName ../clusterName ../label}}{{objCEnumItemLabel label}} = {{asHex mask}},
    {{/zcl_bitmap_items}}
 }
 {{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
@@ -86,23 +107,34 @@
 API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
 {{/if}}
 {{/if}}
+{{#if (isStrEqual (asUpperCamelCase clusterName) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{else if (isStrEqual (asUpperCamelCase clusterName) "TestCluster")}}
+MTR_NEWLY_DEPRECATED("Please use {{objCEnumName "UnitTesting" label}}")
+{{/if}}
 ;
+{{/inline}}
+{{> bitmapDef name=name clusterName=../name label=label}}
 
+{{#if (isStrEqual (asUpperCamelCase ../name) "UnitTesting")}}
+{{> bitmapDef name=name clusterName="TestCluster" label=label}}
+
+{{/if}}
 {{/zcl_bitmaps}}
 {{/zcl_clusters}}
 
 {{#chip_client_clusters includeAll=true}}
-@interface MTRBaseCluster{{asUpperCamelCase name}} (Deprecated)
+@interface MTRBaseCluster{{compatClusterNameRemapping name}} (Deprecated)
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device
                                endpoint:(uint16_t)endpoint
                                   queue:(dispatch_queue_t)queue MTR_NEWLY_DEPRECATED("Please use initWithDevice:endpointID:queue:");
 
 {{#chip_cluster_commands}}
-- (void){{asLowerCamelCase name}}WithParams:(MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params completionHandler:({{>command_completion_type command=.}})completionHandler
+- (void){{asLowerCamelCase name}}WithParams:(MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
   MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithParams:completion:");
 {{#unless (hasArguments)}}
-- (void){{asLowerCamelCase name}}WithCompletionHandler:({{>command_completion_type command=.}})completionHandler
+- (void){{asLowerCamelCase name}}WithCompletionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
   MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithCompletion:");
 {{/unless}}
 {{/chip_cluster_commands}}
@@ -117,21 +149,21 @@
 {{~else~}}
   CompletionHandler:
 {{~/if_is_fabric_scoped_struct~}}
-(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
+(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
   MTR_NEWLY_DEPRECATED("Please use read{{>attribute}}With{{#if_is_fabric_scoped_struct type}}Params:completion:{{else}}Completion:{{/if_is_fabric_scoped_struct}}");
 {{#if isWritableAttribute}}
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value completionHandler:(MTRStatusCompletion)completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value completionHandler:(MTRStatusCompletion)completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
   MTR_NEWLY_DEPRECATED("Please use write{{>attribute}}WithValue:completion:");
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value params:(MTRWriteParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value params:(MTRWriteParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
   MTR_NEWLY_DEPRECATED("Please use write{{>attribute}}WithValue:params:completion:");
 {{/if}}
 {{#if isReportableAttribute}}
 {{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
 - (void) subscribe{{>attribute}}WithMinInterval:(NSNumber * _Nonnull)minInterval  maxInterval:(NSNumber * _Nonnull)maxInterval
        params:(MTRSubscribeParams * _Nullable)params
-subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))reportHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
+subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))reportHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
   MTR_NEWLY_DEPRECATED("Please use subscribe{{>attribute}}WithParams:subscriptionEstablished:");
-+ (void) read{{>attribute}}WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completionHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
++ (void) read{{>attribute}}WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completionHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
   MTR_NEWLY_DEPRECATED("Please use read{{>attribute}}WithAttributeCache:endpoint:queue:completion:");
 {{/if}}
 {{/chip_server_cluster_attributes}}
diff --git a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt
index acaf677..ff5350c 100644
--- a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt
@@ -7,7 +7,10 @@
 
 typedef NS_ENUM(uint32_t, MTRClusterIDType) {
 {{#zcl_clusters}}
-MTRCluster{{asUpperCamelCase label}}ID = {{asMEI manufacturerCode code}},
+MTRCluster{{asUpperCamelCase label}}ID {{#if (isStrEqual (asUpperCamelCase label) "UnitTesting")}}MTR_NEWLY_AVAILABLE{{/if}}= {{asMEI manufacturerCode code}},
+{{#if (isStrEqual (asUpperCamelCase label) "UnitTesting")}}
+MTRClusterTestClusterID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingID") = {{asMEI manufacturerCode code}},
+{{/if}}
 {{/zcl_clusters}}
 };
 
@@ -22,26 +25,44 @@
 {{/zcl_attributes_server}}
 
 {{#zcl_clusters}}
+{{#*inline "attributeIDs"}}
 {{#zcl_attributes_server}}
 {{#first}}
-// Cluster {{asUpperCamelCase parent.label}} attributes
+// Cluster {{asUpperCamelCase ../clusterName}} attributes
 {{/first}}
 {{#if clusterRef}}
 {{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
-MTRCluster{{asUpperCamelCase parent.label}}Attribute{{asUpperCamelCase label}}ID {{#if (isStrEqual (asUpperCamelCase parent.label) "Descriptor")}} {{#if (isStrEqual (asUpperCamelCase label) "DeviceTypeList")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}} = {{asMEI manufacturerCode code}},
+MTRCluster{{asUpperCamelCase ../clusterName}}Attribute{{asUpperCamelCase label}}ID
+{{#if (isStrEqual (asUpperCamelCase ../clusterName) "Descriptor")}}
+{{#if (isStrEqual (asUpperCamelCase label) "DeviceTypeList")}}
+API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+{{/if}}
+{{else if (isStrEqual (asUpperCamelCase ../clusterName) "TestCluster")}}
+MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttribute{{asUpperCamelCase label}}ID")
+{{else if (isStrEqual (asUpperCamelCase ../clusterName) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{/if}}
+= {{asMEI manufacturerCode code}},
 {{!Backwards compat for now: DeviceList as an alias for DeviceTypeList}}
-{{#if (isStrEqual (asUpperCamelCase parent.label) "Descriptor")}}
+{{#if (isStrEqual (asUpperCamelCase ../clusterName) "Descriptor")}}
 {{#if (isStrEqual (asUpperCamelCase label) "DeviceTypeList")}}
 MTRClusterDescriptorAttributeDeviceListID = {{asMEI manufacturerCode code}},
 {{/if}}
 {{/if}}
 {{else}}
-MTRCluster{{asUpperCamelCase parent.label}}Attribute{{asUpperCamelCase label}}ID = MTRClusterGlobalAttribute{{asUpperCamelCase label}}ID,
+MTRCluster{{asUpperCamelCase ../clusterName}}Attribute{{asUpperCamelCase label}}ID = MTRClusterGlobalAttribute{{asUpperCamelCase label}}ID,
 {{/if}}
 {{#last}}
 
 {{/last}}
 {{/zcl_attributes_server}}
+{{/inline}}
+
+{{> attributeIDs clusterName=label}}
+{{#if (isStrEqual (asUpperCamelCase label) "UnitTesting")}}
+
+{{> attributeIDs clusterName="TestCluster"}}
+{{/if}}
 {{/zcl_clusters}}
 };
 
@@ -49,15 +70,29 @@
 
 typedef NS_ENUM(uint32_t, MTRClusterCommandIDType) {
 {{#zcl_clusters}}
+{{#*inline "commandIDs"}}
 {{#zcl_commands}}
 {{#first}}
-// Cluster {{asUpperCamelCase parent.label}} commands
+// Cluster {{asUpperCamelCase ../clusterName}} commands
 {{/first}}
-MTRCluster{{asUpperCamelCase parent.label}}Command{{asUpperCamelCase label}}ID = {{asMEI manufacturerCode code}},
+MTRCluster{{asUpperCamelCase ../clusterName}}Command{{asUpperCamelCase label}}ID
+{{#if (isStrEqual (asUpperCamelCase ../clusterName) "TestCluster")}}
+MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingCommand{{asUpperCamelCase label}}ID")
+{{else if (isStrEqual (asUpperCamelCase ../clusterName) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{/if}}
+= {{asMEI manufacturerCode code}},
 {{#last}}
 
 {{/last}}
 {{/zcl_commands}}
+{{/inline}}
+
+{{> commandIDs clusterName=label}}
+{{#if (isStrEqual (asUpperCamelCase label) "UnitTesting")}}
+
+{{> commandIDs clusterName="TestCluster"}}
+{{/if}}
 {{/zcl_clusters}}
 };
 
@@ -65,14 +100,28 @@
 
 typedef NS_ENUM(uint32_t, MTRClusterEventIDType) {
 {{#zcl_clusters}}
+{{#*inline "eventIDs"}}
 {{#zcl_events}}
 {{#first}}
-// Cluster {{asUpperCamelCase parent.label}} events
+// Cluster {{asUpperCamelCase ../clusterName}} events
 {{/first}}
-MTRCluster{{asUpperCamelCase parent.label}}Event{{asUpperCamelCase name}}ID = {{asMEI manufacturerCode code}},
+MTRCluster{{asUpperCamelCase ../clusterName}}Event{{asUpperCamelCase name}}ID
+{{#if (isStrEqual (asUpperCamelCase ../clusterName) "TestCluster")}}
+MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingEvent{{asUpperCamelCase name}}ID")
+{{else if (isStrEqual (asUpperCamelCase ../clusterName) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{/if}}
+= {{asMEI manufacturerCode code}},
 {{#last}}
 
 {{/last}}
 {{/zcl_events}}
+{{/inline}}
+
+{{> eventIDs clusterName=label}}
+{{#if (isStrEqual (asUpperCamelCase label) "UnitTesting")}}
+
+{{> eventIDs clusterName="TestCluster"}}
+{{/if}}
 {{/zcl_clusters}}
 };
diff --git a/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt b/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt
index 59e5575..52fb5f6 100644
--- a/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt
@@ -151,8 +151,13 @@
 {{/chip_server_cluster_attributes}}
 
 @end
+{{#if (isStrEqual (asUpperCamelCase name) "UnitTesting")}}
 
-@implementation MTRCluster{{asUpperCamelCase name}} (Deprecated)
+@implementation MTRClusterTestCluster
+@end
+{{/if}}
+
+@implementation MTRCluster{{compatClusterNameRemapping name}} (Deprecated)
 
 - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
 {
@@ -160,18 +165,28 @@
 }
 
 {{#chip_cluster_commands}}
-- (void){{asLowerCamelCase name}}WithParams:(MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completionHandler:({{>command_completion_type command=.}})completionHandler
+- (void){{asLowerCamelCase name}}WithParams:(MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
 {
-  [self {{asLowerCamelCase name}}WithParams:params expectedValues:expectedDataValueDictionaries expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+  [self {{asLowerCamelCase name}}WithParams:params expectedValues:expectedDataValueDictionaries expectedValueInterval:expectedValueIntervalMs completion:
+      {{#if hasSpecificResponse}}
+    ^(MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase responseName}}Params * _Nullable data, NSError * _Nullable error) {
+      // Cast is safe because subclass does not add any selectors.
+      completionHandler(static_cast<MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase responseName}}Params *>(data), error);
+    }
+    {{else}}
+    completionHandler
+    {{/if}}
+    ];
 }
 {{#unless (hasArguments)}}
-- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completionHandler:({{>command_completion_type command=.}})completionHandler
+- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
 {
-  [self {{asLowerCamelCase name}}WithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+  [self {{asLowerCamelCase name}}WithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completionHandler:completionHandler];
 }
 {{/unless}}
 {{/chip_cluster_commands}}
 @end
 
 {{/chip_client_clusters}}
+
 // NOLINTEND(clang-analyzer-cplusplus.NewDeleteLeaks)
diff --git a/src/darwin/Framework/CHIP/templates/MTRClusters.zapt b/src/darwin/Framework/CHIP/templates/MTRClusters.zapt
index a0f8349..e44a615 100644
--- a/src/darwin/Framework/CHIP/templates/MTRClusters.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRClusters.zapt
@@ -18,6 +18,9 @@
  * Cluster {{name}}
  *    {{description}}
  */
+{{#if (isStrEqual (asUpperCamelCase name) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{/if}}
 @interface MTRCluster{{asUpperCamelCase name}} : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRDevice *)device
@@ -35,10 +38,10 @@
 {{!Backwards compat for now: Treat DeviceTypeList as DeviceList.  Ideally we would have both, not just DeviceList. }}
 {{#*inline "attribute"}}Attribute{{#if (isStrEqual (asUpperCamelCase parent.name) "Descriptor")}}{{#if (isStrEqual (asUpperCamelCase name) "DeviceTypeList")}}DeviceList{{else}}{{asUpperCamelCase name}}{{/if}}{{else}}{{asUpperCamelCase name}}{{/if}}{{/inline}}
 {{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
-- (NSDictionary<NSString *, id> *)read{{>attribute}}WithParams:(MTRReadParams * _Nullable)params {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}};
+- (NSDictionary<NSString *, id> *)read{{>attribute}}WithParams:(MTRReadParams * _Nullable)params {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}};
 {{#if isWritableAttribute}}
-- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}};
-- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params {{#if (isStrEqual (asUpperCamelCase parent.name) "TestCluster")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}};
+- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}};
+- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}};
 {{/if}}
 {{/chip_server_cluster_attributes}}
 
@@ -49,17 +52,21 @@
 
 {{/chip_client_clusters}}
 
+MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTesting")
+@interface MTRClusterTestCluster : MTRClusterUnitTesting
+@end
+
 {{#chip_client_clusters includeAll=true}}
-@interface MTRCluster{{asUpperCamelCase name}} (Deprecated)
+@interface MTRCluster{{compatClusterNameRemapping name}} (Deprecated)
 
 - (nullable instancetype)initWithDevice:(MTRDevice *)device
                                endpoint:(uint16_t)endpoint
                                   queue:(dispatch_queue_t)queue MTR_NEWLY_DEPRECATED("Please use initWithDevice:endpoindID:queue:");
 
 {{#chip_cluster_commands}}
-- (void){{asLowerCamelCase name}}WithParams:(MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completionHandler:({{>command_completion_type command=.}})completionHandler MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithParams:expectedValues:expectedValueIntervalMs:completion:");
+- (void){{asLowerCamelCase name}}WithParams:(MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithParams:expectedValues:expectedValueIntervalMs:completion:");
 {{#unless (hasArguments)}}
-- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completionHandler:({{>command_completion_type command=.}})completionHandler MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithExpectedValues:expectedValueIntervalMs:completion:");
+- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithExpectedValues:expectedValueIntervalMs:completion:");
 {{/unless}}
 {{/chip_cluster_commands}}
 @end
diff --git a/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc-src.zapt b/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc-src.zapt
index 94e7fff..55b806d 100644
--- a/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc-src.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc-src.zapt
@@ -38,6 +38,11 @@
 }
 
 @end
+{{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+
+@implementation MTRTestClusterCluster{{asUpperCamelCase name}}Params
+@end
+{{/if}}
 {{/zcl_commands}}
 {{/zcl_clusters}}
 
diff --git a/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt b/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt
index 8b7e54e..78a0c88 100644
--- a/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt
@@ -7,6 +7,9 @@
 
 {{#zcl_clusters}}
 {{#zcl_commands}}
+{{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{/if}}
 @interface MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}Params : NSObject <NSCopying>
 {{#zcl_command_arguments}}
 
@@ -33,6 +36,13 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+{{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingCluster{{asUpperCamelCase name}}Params")
+@interface MTRTestClusterCluster{{asUpperCamelCase name}}Params : MTRUnitTestingCluster{{asUpperCamelCase name}}Params
+@end
+
+{{/if}}
 {{/zcl_commands}}
 {{/zcl_clusters}}
 
diff --git a/src/darwin/Framework/CHIP/templates/MTRStructsObjc-src.zapt b/src/darwin/Framework/CHIP/templates/MTRStructsObjc-src.zapt
index 0aaed6d..fe5a9a1 100644
--- a/src/darwin/Framework/CHIP/templates/MTRStructsObjc-src.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRStructsObjc-src.zapt
@@ -45,6 +45,9 @@
 {{#if (isStrEqual (asUpperCamelCase name) "DeviceTypeStruct")}}
 {{> interfaceImpl interfaceName="MTRDescriptorClusterDeviceType"}}
 {{/if}}
+{{else if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+@implementation MTRTestClusterCluster{{asUpperCamelCase name}} : MTRUnitTestingCluster{{asUpperCamelCase name}}
+@end
 {{/if}}
 
 {{/zcl_structs}}
@@ -79,6 +82,11 @@
 }
 
 @end
+{{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+
+@implementation MTRTestClusterCluster{{asUpperCamelCase name}}Event : MTRUnitTestingCluster{{asUpperCamelCase name}}Event
+@end
+{{/if}}
 
 {{/zcl_events}}
 
diff --git a/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt b/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt
index 4ebd3f7..20dd283 100644
--- a/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt
@@ -21,6 +21,8 @@
 {{#if (isStrEqual (asUpperCamelCase name) "DeviceTypeStruct")}}
 API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
 {{/if}}
+{{else if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
 {{/if}}
 @interface MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}} : NSObject <NSCopying>
 {{> interfaceDecl}}
@@ -33,10 +35,17 @@
 {{> interfaceDecl}}
 @end
 {{/if}}
+{{else if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingCluster{{asUpperCamelCase name}}")
+@interface MTRTestClusterCluster{{asUpperCamelCase name}} : MTRUnitTestingCluster{{asUpperCamelCase name}}
+@end
 {{/if}}
 {{/zcl_structs}}
 
 {{#zcl_events}}
+{{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+MTR_NEWLY_AVAILABLE
+{{/if}}
 @interface MTR{{asUpperCamelCase parent.name}}Cluster{{asUpperCamelCase name}}Event : NSObject <NSCopying>
 {{#zcl_event_fields}}
 @property (nonatomic, copy{{#unless (isStrEqual (asGetterName name) (asStructPropertyName name))}}, getter={{asGetterName name}}{{/unless}}) {{asObjectiveCType type parent.parent.name}} {{asStructPropertyName name}};
@@ -45,6 +54,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+{{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingCluster{{asUpperCamelCase name}}Event")
+@interface MTRTestClusterCluster{{asUpperCamelCase name}}Event : MTRUnitTestingCluster{{asUpperCamelCase name}}Event
+@end
+{{/if}}
 
 {{/zcl_events}}
 
diff --git a/src/darwin/Framework/CHIP/templates/partials/command_completion_type.zapt b/src/darwin/Framework/CHIP/templates/partials/command_completion_type.zapt
index 5e99dc5..124d825 100644
--- a/src/darwin/Framework/CHIP/templates/partials/command_completion_type.zapt
+++ b/src/darwin/Framework/CHIP/templates/partials/command_completion_type.zapt
@@ -1,5 +1,12 @@
 {{#if command.hasSpecificResponse}}
-void (^)(MTR{{asUpperCamelCase command.parent.name}}Cluster{{asUpperCamelCase command.responseName}}Params * _Nullable data, NSError * _Nullable error)
+{{#*inline "clusterName"}}
+{{~#if compatRemapClusterName~}}
+{{compatClusterNameRemapping command.parent.name}}
+{{~else~}}
+{{asUpperCamelCase command.parent.name}}
+{{~/if~}}
+{{/inline}}
+void (^)(MTR{{> clusterName}}Cluster{{asUpperCamelCase command.responseName}}Params * _Nullable data, NSError * _Nullable error)
 {{else}}
 MTRStatusCompletion
 {{/if}}
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index 73bf001..71cb04f 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -18325,6 +18325,7 @@
  * Cluster Unit Testing
  *    The Test Cluster is meant to validate the generated code
  */
+MTR_NEWLY_AVAILABLE
 @interface MTRBaseClusterUnitTesting : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device
@@ -20191,6 +20192,10 @@
 
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRBaseClusterUnitTesting")
+@interface MTRBaseClusterTestCluster : MTRBaseClusterUnitTesting
+@end
+
 typedef NS_ENUM(uint8_t, MTRIdentifyEffectIdentifier) {
     MTRIdentifyEffectIdentifierBlink = 0x00,
     MTRIdentifyEffectIdentifierBreathe = 0x01,
@@ -21595,41 +21600,82 @@
     MTRUnitTestingSimpleValueA = 0x01,
     MTRUnitTestingSimpleValueB = 0x02,
     MTRUnitTestingSimpleValueC = 0x03,
-};
+} MTR_NEWLY_AVAILABLE;
+
+typedef NS_ENUM(uint8_t, MTRTestClusterSimple) {
+    MTRTestClusterSimpleUnspecified = 0x00,
+    MTRTestClusterSimpleValueA = 0x01,
+    MTRTestClusterSimpleValueB = 0x02,
+    MTRTestClusterSimpleValueC = 0x03,
+} MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimple");
 
 typedef NS_OPTIONS(uint16_t, MTRUnitTestingBitmap16MaskMap) {
     MTRUnitTestingBitmap16MaskMapMaskVal1 = 0x1,
     MTRUnitTestingBitmap16MaskMapMaskVal2 = 0x2,
     MTRUnitTestingBitmap16MaskMapMaskVal3 = 0x4,
     MTRUnitTestingBitmap16MaskMapMaskVal4 = 0x4000,
-};
+} MTR_NEWLY_AVAILABLE;
+
+typedef NS_OPTIONS(uint16_t, MTRTestClusterBitmap16MaskMap) {
+    MTRTestClusterBitmap16MaskMapMaskVal1 = 0x1,
+    MTRTestClusterBitmap16MaskMapMaskVal2 = 0x2,
+    MTRTestClusterBitmap16MaskMapMaskVal3 = 0x4,
+    MTRTestClusterBitmap16MaskMapMaskVal4 = 0x4000,
+} MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap16MaskMap");
 
 typedef NS_OPTIONS(uint32_t, MTRUnitTestingBitmap32MaskMap) {
     MTRUnitTestingBitmap32MaskMapMaskVal1 = 0x1,
     MTRUnitTestingBitmap32MaskMapMaskVal2 = 0x2,
     MTRUnitTestingBitmap32MaskMapMaskVal3 = 0x4,
     MTRUnitTestingBitmap32MaskMapMaskVal4 = 0x40000000,
-};
+} MTR_NEWLY_AVAILABLE;
+
+typedef NS_OPTIONS(uint32_t, MTRTestClusterBitmap32MaskMap) {
+    MTRTestClusterBitmap32MaskMapMaskVal1 = 0x1,
+    MTRTestClusterBitmap32MaskMapMaskVal2 = 0x2,
+    MTRTestClusterBitmap32MaskMapMaskVal3 = 0x4,
+    MTRTestClusterBitmap32MaskMapMaskVal4 = 0x40000000,
+} MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap32MaskMap");
 
 typedef NS_OPTIONS(uint64_t, MTRUnitTestingBitmap64MaskMap) {
     MTRUnitTestingBitmap64MaskMapMaskVal1 = 0x1,
     MTRUnitTestingBitmap64MaskMapMaskVal2 = 0x2,
     MTRUnitTestingBitmap64MaskMapMaskVal3 = 0x4,
     MTRUnitTestingBitmap64MaskMapMaskVal4 = 0x4000000000000000,
-};
+} MTR_NEWLY_AVAILABLE;
+
+typedef NS_OPTIONS(uint64_t, MTRTestClusterBitmap64MaskMap) {
+    MTRTestClusterBitmap64MaskMapMaskVal1 = 0x1,
+    MTRTestClusterBitmap64MaskMapMaskVal2 = 0x2,
+    MTRTestClusterBitmap64MaskMapMaskVal3 = 0x4,
+    MTRTestClusterBitmap64MaskMapMaskVal4 = 0x4000000000000000,
+} MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap64MaskMap");
 
 typedef NS_OPTIONS(uint8_t, MTRUnitTestingBitmap8MaskMap) {
     MTRUnitTestingBitmap8MaskMapMaskVal1 = 0x1,
     MTRUnitTestingBitmap8MaskMapMaskVal2 = 0x2,
     MTRUnitTestingBitmap8MaskMapMaskVal3 = 0x4,
     MTRUnitTestingBitmap8MaskMapMaskVal4 = 0x40,
-};
+} MTR_NEWLY_AVAILABLE;
+
+typedef NS_OPTIONS(uint8_t, MTRTestClusterBitmap8MaskMap) {
+    MTRTestClusterBitmap8MaskMapMaskVal1 = 0x1,
+    MTRTestClusterBitmap8MaskMapMaskVal2 = 0x2,
+    MTRTestClusterBitmap8MaskMapMaskVal3 = 0x4,
+    MTRTestClusterBitmap8MaskMapMaskVal4 = 0x40,
+} MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap8MaskMap");
 
 typedef NS_OPTIONS(uint8_t, MTRUnitTestingSimpleBitmap) {
     MTRUnitTestingSimpleBitmapValueA = 0x1,
     MTRUnitTestingSimpleBitmapValueB = 0x2,
     MTRUnitTestingSimpleBitmapValueC = 0x4,
-};
+} MTR_NEWLY_AVAILABLE;
+
+typedef NS_OPTIONS(uint8_t, MTRTestClusterSimpleBitmap) {
+    MTRTestClusterSimpleBitmapValueA = 0x1,
+    MTRTestClusterSimpleBitmapValueB = 0x2,
+    MTRTestClusterSimpleBitmapValueC = 0x4,
+} MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleBitmap");
 
 typedef NS_ENUM(uint8_t, MTRFaultInjectionFaultType) {
     MTRFaultInjectionFaultTypeUnspecified = 0x00,
@@ -40685,107 +40731,107 @@
 
 @end
 
-@interface MTRBaseClusterUnitTesting (Deprecated)
+@interface MTRBaseClusterTestCluster (Deprecated)
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device
                                endpoint:(uint16_t)endpoint
                                   queue:(dispatch_queue_t)queue MTR_NEWLY_DEPRECATED("Please use initWithDevice:endpointID:queue:");
 
-- (void)testWithParams:(MTRUnitTestingClusterTestParams * _Nullable)params
+- (void)testWithParams:(MTRTestClusterClusterTestParams * _Nullable)params
      completionHandler:(MTRStatusCompletion)completionHandler MTR_NEWLY_DEPRECATED("Please use testWithParams:completion:");
 - (void)testWithCompletionHandler:(MTRStatusCompletion)completionHandler MTR_NEWLY_DEPRECATED("Please use testWithCompletion:");
-- (void)testNotHandledWithParams:(MTRUnitTestingClusterTestNotHandledParams * _Nullable)params
+- (void)testNotHandledWithParams:(MTRTestClusterClusterTestNotHandledParams * _Nullable)params
                completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNotHandledWithParams:completion:");
 - (void)testNotHandledWithCompletionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNotHandledWithCompletion:");
-- (void)testSpecificWithParams:(MTRUnitTestingClusterTestSpecificParams * _Nullable)params
-             completionHandler:(void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data,
+- (void)testSpecificWithParams:(MTRTestClusterClusterTestSpecificParams * _Nullable)params
+             completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testSpecificWithParams:completion:");
 - (void)testSpecificWithCompletionHandler:
-    (void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
+    (void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testSpecificWithCompletion:");
-- (void)testUnknownCommandWithParams:(MTRUnitTestingClusterTestUnknownCommandParams * _Nullable)params
+- (void)testUnknownCommandWithParams:(MTRTestClusterClusterTestUnknownCommandParams * _Nullable)params
                    completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testUnknownCommandWithParams:completion:");
 - (void)testUnknownCommandWithCompletionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testUnknownCommandWithCompletion:");
-- (void)testAddArgumentsWithParams:(MTRUnitTestingClusterTestAddArgumentsParams *)params
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestAddArgumentsResponseParams * _Nullable data,
+- (void)testAddArgumentsWithParams:(MTRTestClusterClusterTestAddArgumentsParams *)params
+                 completionHandler:(void (^)(MTRTestClusterClusterTestAddArgumentsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testAddArgumentsWithParams:completion:");
-- (void)testSimpleArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleArgumentRequestParams *)params
-                          completionHandler:(void (^)(MTRUnitTestingClusterTestSimpleArgumentResponseParams * _Nullable data,
+- (void)testSimpleArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleArgumentRequestParams *)params
+                          completionHandler:(void (^)(MTRTestClusterClusterTestSimpleArgumentResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testSimpleArgumentRequestWithParams:completion:");
-- (void)testStructArrayArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArrayArgumentRequestParams *)params
+- (void)testStructArrayArgumentRequestWithParams:(MTRTestClusterClusterTestStructArrayArgumentRequestParams *)params
                                completionHandler:
-                                   (void (^)(MTRUnitTestingClusterTestStructArrayArgumentResponseParams * _Nullable data,
+                                   (void (^)(MTRTestClusterClusterTestStructArrayArgumentResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testStructArrayArgumentRequestWithParams:completion:");
-- (void)testStructArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArgumentRequestParams *)params
-                          completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testStructArgumentRequestWithParams:(MTRTestClusterClusterTestStructArgumentRequestParams *)params
+                          completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testStructArgumentRequestWithParams:completion:");
-- (void)testNestedStructArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructArgumentRequestParams *)params
-                                completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testNestedStructArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructArgumentRequestParams *)params
+                                completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                       NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNestedStructArgumentRequestWithParams:completion:");
-- (void)testListStructArgumentRequestWithParams:(MTRUnitTestingClusterTestListStructArgumentRequestParams *)params
-                              completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testListStructArgumentRequestWithParams:(MTRTestClusterClusterTestListStructArgumentRequestParams *)params
+                              completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                     NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testListStructArgumentRequestWithParams:completion:");
-- (void)testListInt8UArgumentRequestWithParams:(MTRUnitTestingClusterTestListInt8UArgumentRequestParams *)params
-                             completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testListInt8UArgumentRequestWithParams:(MTRTestClusterClusterTestListInt8UArgumentRequestParams *)params
+                             completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                    NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testListInt8UArgumentRequestWithParams:completion:");
-- (void)testNestedStructListArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructListArgumentRequestParams *)params
-                                    completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testNestedStructListArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructListArgumentRequestParams *)params
+                                    completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                           NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNestedStructListArgumentRequestWithParams:completion:");
 - (void)testListNestedStructListArgumentRequestWithParams:
-            (MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams *)params
-                                        completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+            (MTRTestClusterClusterTestListNestedStructListArgumentRequestParams *)params
+                                        completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                               NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testListNestedStructListArgumentRequestWithParams:completion:");
-- (void)testListInt8UReverseRequestWithParams:(MTRUnitTestingClusterTestListInt8UReverseRequestParams *)params
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestListInt8UReverseResponseParams * _Nullable data,
+- (void)testListInt8UReverseRequestWithParams:(MTRTestClusterClusterTestListInt8UReverseRequestParams *)params
+                            completionHandler:(void (^)(MTRTestClusterClusterTestListInt8UReverseResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testListInt8UReverseRequestWithParams:completion:");
-- (void)testEnumsRequestWithParams:(MTRUnitTestingClusterTestEnumsRequestParams *)params
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestEnumsResponseParams * _Nullable data,
+- (void)testEnumsRequestWithParams:(MTRTestClusterClusterTestEnumsRequestParams *)params
+                 completionHandler:(void (^)(MTRTestClusterClusterTestEnumsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testEnumsRequestWithParams:completion:");
-- (void)testNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestNullableOptionalRequestParams * _Nullable)params
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestNullableOptionalResponseParams * _Nullable data,
+- (void)testNullableOptionalRequestWithParams:(MTRTestClusterClusterTestNullableOptionalRequestParams * _Nullable)params
+                            completionHandler:(void (^)(MTRTestClusterClusterTestNullableOptionalResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNullableOptionalRequestWithParams:completion:");
-- (void)testComplexNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestComplexNullableOptionalRequestParams *)params
+- (void)testComplexNullableOptionalRequestWithParams:(MTRTestClusterClusterTestComplexNullableOptionalRequestParams *)params
                                    completionHandler:
-                                       (void (^)(MTRUnitTestingClusterTestComplexNullableOptionalResponseParams * _Nullable data,
+                                       (void (^)(MTRTestClusterClusterTestComplexNullableOptionalResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testComplexNullableOptionalRequestWithParams:completion:");
-- (void)simpleStructEchoRequestWithParams:(MTRUnitTestingClusterSimpleStructEchoRequestParams *)params
-                        completionHandler:(void (^)(MTRUnitTestingClusterSimpleStructResponseParams * _Nullable data,
+- (void)simpleStructEchoRequestWithParams:(MTRTestClusterClusterSimpleStructEchoRequestParams *)params
+                        completionHandler:(void (^)(MTRTestClusterClusterSimpleStructResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use simpleStructEchoRequestWithParams:completion:");
-- (void)timedInvokeRequestWithParams:(MTRUnitTestingClusterTimedInvokeRequestParams * _Nullable)params
+- (void)timedInvokeRequestWithParams:(MTRTestClusterClusterTimedInvokeRequestParams * _Nullable)params
                    completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use timedInvokeRequestWithParams:completion:");
 - (void)timedInvokeRequestWithCompletionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use timedInvokeRequestWithCompletion:");
-- (void)testSimpleOptionalArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
+- (void)testSimpleOptionalArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
                                   completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testSimpleOptionalArgumentRequestWithParams:completion:");
-- (void)testEmitTestEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestEventRequestParams *)params
-                         completionHandler:(void (^)(MTRUnitTestingClusterTestEmitTestEventResponseParams * _Nullable data,
+- (void)testEmitTestEventRequestWithParams:(MTRTestClusterClusterTestEmitTestEventRequestParams *)params
+                         completionHandler:(void (^)(MTRTestClusterClusterTestEmitTestEventResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testEmitTestEventRequestWithParams:completion:");
-- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams *)params
+- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams *)params
                                      completionHandler:
                                          (void (^)(
-                                             MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
+                                             MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
                                              NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testEmitTestFabricScopedEventRequestWithParams:completion:");
 
@@ -41596,12 +41642,12 @@
     MTR_NEWLY_DEPRECATED("Please use readAttributeEnumAttrWithAttributeCache:endpoint:queue:completion:");
 
 - (void)readAttributeStructAttrWithCompletionHandler:
-    (void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error))completionHandler
+    (void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value, NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use readAttributeStructAttrWithCompletion:");
-- (void)writeAttributeStructAttrWithValue:(MTRUnitTestingClusterSimpleStruct * _Nonnull)value
+- (void)writeAttributeStructAttrWithValue:(MTRTestClusterClusterSimpleStruct * _Nonnull)value
                         completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use writeAttributeStructAttrWithValue:completion:");
-- (void)writeAttributeStructAttrWithValue:(MTRUnitTestingClusterSimpleStruct * _Nonnull)value
+- (void)writeAttributeStructAttrWithValue:(MTRTestClusterClusterSimpleStruct * _Nonnull)value
                                    params:(MTRWriteParams * _Nullable)params
                         completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use writeAttributeStructAttrWithValue:params:completion:");
@@ -41609,13 +41655,13 @@
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
                                              params:(MTRSubscribeParams * _Nullable)params
                             subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
-                                      reportHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                      reportHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                         NSError * _Nullable error))reportHandler
     MTR_NEWLY_DEPRECATED("Please use subscribeAttributeStructAttrWithParams:subscriptionEstablished:");
 + (void)readAttributeStructAttrWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
                                             queue:(dispatch_queue_t)queue
-                                completionHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                completionHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                       NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use readAttributeStructAttrWithAttributeCache:endpoint:queue:completion:");
 
@@ -42543,12 +42589,12 @@
     MTR_NEWLY_DEPRECATED("Please use readAttributeNullableEnumAttrWithAttributeCache:endpoint:queue:completion:");
 
 - (void)readAttributeNullableStructWithCompletionHandler:
-    (void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error))completionHandler
+    (void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value, NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use readAttributeNullableStructWithCompletion:");
-- (void)writeAttributeNullableStructWithValue:(MTRUnitTestingClusterSimpleStruct * _Nullable)value
+- (void)writeAttributeNullableStructWithValue:(MTRTestClusterClusterSimpleStruct * _Nullable)value
                             completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use writeAttributeNullableStructWithValue:completion:");
-- (void)writeAttributeNullableStructWithValue:(MTRUnitTestingClusterSimpleStruct * _Nullable)value
+- (void)writeAttributeNullableStructWithValue:(MTRTestClusterClusterSimpleStruct * _Nullable)value
                                        params:(MTRWriteParams * _Nullable)params
                             completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use writeAttributeNullableStructWithValue:params:completion:");
@@ -42556,13 +42602,13 @@
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
                                                  params:(MTRSubscribeParams * _Nullable)params
                                 subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
-                                          reportHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                          reportHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                             NSError * _Nullable error))reportHandler
     MTR_NEWLY_DEPRECATED("Please use subscribeAttributeNullableStructWithParams:subscriptionEstablished:");
 + (void)readAttributeNullableStructWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
                                                 queue:(dispatch_queue_t)queue
-                                    completionHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                    completionHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                           NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use readAttributeNullableStructWithAttributeCache:endpoint:queue:completion:");
 
@@ -42668,27 +42714,32 @@
 
 - (void)readAttributeWriteOnlyInt8uWithCompletionHandler:
     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
-    MTR_NEWLY_DEPRECATED("Please use readAttributeWriteOnlyInt8uWithCompletion:");
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+        MTR_NEWLY_DEPRECATED("Please use readAttributeWriteOnlyInt8uWithCompletion:");
 - (void)writeAttributeWriteOnlyInt8uWithValue:(NSNumber * _Nonnull)value
                             completionHandler:(MTRStatusCompletion)completionHandler
-    MTR_NEWLY_DEPRECATED("Please use writeAttributeWriteOnlyInt8uWithValue:completion:");
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+        MTR_NEWLY_DEPRECATED("Please use writeAttributeWriteOnlyInt8uWithValue:completion:");
 - (void)writeAttributeWriteOnlyInt8uWithValue:(NSNumber * _Nonnull)value
                                        params:(MTRWriteParams * _Nullable)params
                             completionHandler:(MTRStatusCompletion)completionHandler
-    MTR_NEWLY_DEPRECATED("Please use writeAttributeWriteOnlyInt8uWithValue:params:completion:");
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+        MTR_NEWLY_DEPRECATED("Please use writeAttributeWriteOnlyInt8uWithValue:params:completion:");
 - (void)subscribeAttributeWriteOnlyInt8uWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
                                                  params:(MTRSubscribeParams * _Nullable)params
                                 subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
                                           reportHandler:
                                               (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))reportHandler
-    MTR_NEWLY_DEPRECATED("Please use subscribeAttributeWriteOnlyInt8uWithParams:subscriptionEstablished:");
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+        MTR_NEWLY_DEPRECATED("Please use subscribeAttributeWriteOnlyInt8uWithParams:subscriptionEstablished:");
 + (void)readAttributeWriteOnlyInt8uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
                                                 queue:(dispatch_queue_t)queue
                                     completionHandler:
                                         (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
-    MTR_NEWLY_DEPRECATED("Please use readAttributeWriteOnlyInt8uWithAttributeCache:endpoint:queue:completion:");
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+        MTR_NEWLY_DEPRECATED("Please use readAttributeWriteOnlyInt8uWithAttributeCache:endpoint:queue:completion:");
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:
     (void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
index 4037618..72df381 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm
@@ -660,7 +660,10 @@
 - (void)readAttributeIdentifyTimeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeIdentifyTimeWithCompletion:completionHandler];
+    [self readAttributeIdentifyTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeIdentifyTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -687,7 +690,10 @@
     }
     [self subscribeAttributeIdentifyTimeWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeIdentifyTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -698,13 +704,19 @@
     [self readAttributeIdentifyTimeWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeIdentifyTypeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeIdentifyTypeWithCompletion:completionHandler];
+    [self readAttributeIdentifyTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeIdentifyTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -721,7 +733,10 @@
     }
     [self subscribeAttributeIdentifyTypeWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeIdentifyTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -732,13 +747,19 @@
     [self readAttributeIdentifyTypeWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -757,7 +778,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -768,13 +792,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -793,7 +823,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -804,13 +837,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -827,7 +866,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -838,13 +880,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -861,7 +909,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -871,13 +922,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -895,7 +952,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -906,7 +966,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -1543,25 +1606,42 @@
          completionHandler:
              (void (^)(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self addGroupWithParams:params completion:completionHandler];
+    [self addGroupWithParams:params
+                  completion:^(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error) {
+                      // Cast is safe because subclass does not add any selectors.
+                      completionHandler(static_cast<MTRGroupsClusterAddGroupResponseParams *>(data), error);
+                  }];
 }
 - (void)viewGroupWithParams:(MTRGroupsClusterViewGroupParams *)params
           completionHandler:
               (void (^)(MTRGroupsClusterViewGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self viewGroupWithParams:params completion:completionHandler];
+    [self viewGroupWithParams:params
+                   completion:^(MTRGroupsClusterViewGroupResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRGroupsClusterViewGroupResponseParams *>(data), error);
+                   }];
 }
 - (void)getGroupMembershipWithParams:(MTRGroupsClusterGetGroupMembershipParams *)params
                    completionHandler:(void (^)(MTRGroupsClusterGetGroupMembershipResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler
 {
-    [self getGroupMembershipWithParams:params completion:completionHandler];
+    [self getGroupMembershipWithParams:params
+                            completion:^(
+                                MTRGroupsClusterGetGroupMembershipResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRGroupsClusterGetGroupMembershipResponseParams *>(data), error);
+                            }];
 }
 - (void)removeGroupWithParams:(MTRGroupsClusterRemoveGroupParams *)params
             completionHandler:
                 (void (^)(MTRGroupsClusterRemoveGroupResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self removeGroupWithParams:params completion:completionHandler];
+    [self removeGroupWithParams:params
+                     completion:^(MTRGroupsClusterRemoveGroupResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRGroupsClusterRemoveGroupResponseParams *>(data), error);
+                     }];
 }
 - (void)removeAllGroupsWithParams:(MTRGroupsClusterRemoveAllGroupsParams * _Nullable)params
                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -1570,7 +1650,7 @@
 }
 - (void)removeAllGroupsWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self removeAllGroupsWithParams:nil completion:completionHandler];
+    [self removeAllGroupsWithParams:nil completionHandler:completionHandler];
 }
 - (void)addGroupIfIdentifyingWithParams:(MTRGroupsClusterAddGroupIfIdentifyingParams *)params
                       completionHandler:(MTRStatusCompletion)completionHandler
@@ -1581,7 +1661,10 @@
 - (void)readAttributeNameSupportWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNameSupportWithCompletion:completionHandler];
+    [self readAttributeNameSupportWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNameSupportWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -1598,7 +1681,10 @@
     }
     [self subscribeAttributeNameSupportWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeNameSupportWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -1609,13 +1695,19 @@
     [self readAttributeNameSupportWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -1634,7 +1726,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -1645,13 +1740,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -1670,7 +1771,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -1681,13 +1785,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -1704,7 +1814,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -1715,13 +1828,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -1738,7 +1857,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -1748,13 +1870,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -1772,7 +1900,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -1783,7 +1914,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -3008,31 +3142,51 @@
          completionHandler:
              (void (^)(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self addSceneWithParams:params completion:completionHandler];
+    [self addSceneWithParams:params
+                  completion:^(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                      // Cast is safe because subclass does not add any selectors.
+                      completionHandler(static_cast<MTRScenesClusterAddSceneResponseParams *>(data), error);
+                  }];
 }
 - (void)viewSceneWithParams:(MTRScenesClusterViewSceneParams *)params
           completionHandler:
               (void (^)(MTRScenesClusterViewSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self viewSceneWithParams:params completion:completionHandler];
+    [self viewSceneWithParams:params
+                   completion:^(MTRScenesClusterViewSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRScenesClusterViewSceneResponseParams *>(data), error);
+                   }];
 }
 - (void)removeSceneWithParams:(MTRScenesClusterRemoveSceneParams *)params
             completionHandler:
                 (void (^)(MTRScenesClusterRemoveSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self removeSceneWithParams:params completion:completionHandler];
+    [self removeSceneWithParams:params
+                     completion:^(MTRScenesClusterRemoveSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRScenesClusterRemoveSceneResponseParams *>(data), error);
+                     }];
 }
 - (void)removeAllScenesWithParams:(MTRScenesClusterRemoveAllScenesParams *)params
                 completionHandler:(void (^)(MTRScenesClusterRemoveAllScenesResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler
 {
-    [self removeAllScenesWithParams:params completion:completionHandler];
+    [self removeAllScenesWithParams:params
+                         completion:^(MTRScenesClusterRemoveAllScenesResponseParams * _Nullable data, NSError * _Nullable error) {
+                             // Cast is safe because subclass does not add any selectors.
+                             completionHandler(static_cast<MTRScenesClusterRemoveAllScenesResponseParams *>(data), error);
+                         }];
 }
 - (void)storeSceneWithParams:(MTRScenesClusterStoreSceneParams *)params
            completionHandler:
                (void (^)(MTRScenesClusterStoreSceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self storeSceneWithParams:params completion:completionHandler];
+    [self storeSceneWithParams:params
+                    completion:^(MTRScenesClusterStoreSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTRScenesClusterStoreSceneResponseParams *>(data), error);
+                    }];
 }
 - (void)recallSceneWithParams:(MTRScenesClusterRecallSceneParams *)params completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -3042,31 +3196,52 @@
                    completionHandler:(void (^)(MTRScenesClusterGetSceneMembershipResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler
 {
-    [self getSceneMembershipWithParams:params completion:completionHandler];
+    [self getSceneMembershipWithParams:params
+                            completion:^(
+                                MTRScenesClusterGetSceneMembershipResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRScenesClusterGetSceneMembershipResponseParams *>(data), error);
+                            }];
 }
 - (void)enhancedAddSceneWithParams:(MTRScenesClusterEnhancedAddSceneParams *)params
                  completionHandler:(void (^)(MTRScenesClusterEnhancedAddSceneResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
-    [self enhancedAddSceneWithParams:params completion:completionHandler];
+    [self enhancedAddSceneWithParams:params
+                          completion:^(MTRScenesClusterEnhancedAddSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                              // Cast is safe because subclass does not add any selectors.
+                              completionHandler(static_cast<MTRScenesClusterEnhancedAddSceneResponseParams *>(data), error);
+                          }];
 }
 - (void)enhancedViewSceneWithParams:(MTRScenesClusterEnhancedViewSceneParams *)params
                   completionHandler:(void (^)(MTRScenesClusterEnhancedViewSceneResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler
 {
-    [self enhancedViewSceneWithParams:params completion:completionHandler];
+    [self
+        enhancedViewSceneWithParams:params
+                         completion:^(MTRScenesClusterEnhancedViewSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                             // Cast is safe because subclass does not add any selectors.
+                             completionHandler(static_cast<MTRScenesClusterEnhancedViewSceneResponseParams *>(data), error);
+                         }];
 }
 - (void)copySceneWithParams:(MTRScenesClusterCopySceneParams *)params
           completionHandler:
               (void (^)(MTRScenesClusterCopySceneResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self copySceneWithParams:params completion:completionHandler];
+    [self copySceneWithParams:params
+                   completion:^(MTRScenesClusterCopySceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRScenesClusterCopySceneResponseParams *>(data), error);
+                   }];
 }
 
 - (void)readAttributeSceneCountWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSceneCountWithCompletion:completionHandler];
+    [self readAttributeSceneCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSceneCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3083,7 +3258,10 @@
     }
     [self subscribeAttributeSceneCountWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeSceneCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -3093,13 +3271,19 @@
     [self readAttributeSceneCountWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeCurrentSceneWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentSceneWithCompletion:completionHandler];
+    [self readAttributeCurrentSceneWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentSceneWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3116,7 +3300,10 @@
     }
     [self subscribeAttributeCurrentSceneWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeCurrentSceneWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -3127,13 +3314,19 @@
     [self readAttributeCurrentSceneWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeCurrentGroupWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentGroupWithCompletion:completionHandler];
+    [self readAttributeCurrentGroupWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentGroupWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3150,7 +3343,10 @@
     }
     [self subscribeAttributeCurrentGroupWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeCurrentGroupWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -3161,13 +3357,19 @@
     [self readAttributeCurrentGroupWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeSceneValidWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSceneValidWithCompletion:completionHandler];
+    [self readAttributeSceneValidWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSceneValidWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3184,7 +3386,10 @@
     }
     [self subscribeAttributeSceneValidWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeSceneValidWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -3194,13 +3399,19 @@
     [self readAttributeSceneValidWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeNameSupportWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNameSupportWithCompletion:completionHandler];
+    [self readAttributeNameSupportWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNameSupportWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3217,7 +3428,10 @@
     }
     [self subscribeAttributeNameSupportWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeNameSupportWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -3228,13 +3442,19 @@
     [self readAttributeNameSupportWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeLastConfiguredByWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLastConfiguredByWithCompletion:completionHandler];
+    [self readAttributeLastConfiguredByWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeLastConfiguredByWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -3252,7 +3472,10 @@
     }
     [self subscribeAttributeLastConfiguredByWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeLastConfiguredByWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -3263,13 +3486,19 @@
     [self readAttributeLastConfiguredByWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3288,7 +3517,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -3299,13 +3531,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3324,7 +3562,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -3335,13 +3576,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3358,7 +3605,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -3369,13 +3619,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3392,7 +3648,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -3402,13 +3661,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -3426,7 +3691,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -3437,7 +3705,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -4470,7 +4741,7 @@
 }
 - (void)offWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self offWithParams:nil completion:completionHandler];
+    [self offWithParams:nil completionHandler:completionHandler];
 }
 - (void)onWithParams:(MTROnOffClusterOnParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -4478,7 +4749,7 @@
 }
 - (void)onWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self onWithParams:nil completion:completionHandler];
+    [self onWithParams:nil completionHandler:completionHandler];
 }
 - (void)toggleWithParams:(MTROnOffClusterToggleParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -4486,7 +4757,7 @@
 }
 - (void)toggleWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self toggleWithParams:nil completion:completionHandler];
+    [self toggleWithParams:nil completionHandler:completionHandler];
 }
 - (void)offWithEffectWithParams:(MTROnOffClusterOffWithEffectParams *)params
               completionHandler:(MTRStatusCompletion)completionHandler
@@ -4500,7 +4771,7 @@
 }
 - (void)onWithRecallGlobalSceneWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self onWithRecallGlobalSceneWithParams:nil completion:completionHandler];
+    [self onWithRecallGlobalSceneWithParams:nil completionHandler:completionHandler];
 }
 - (void)onWithTimedOffWithParams:(MTROnOffClusterOnWithTimedOffParams *)params
                completionHandler:(MTRStatusCompletion)completionHandler
@@ -4510,7 +4781,10 @@
 
 - (void)readAttributeOnOffWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnOffWithCompletion:completionHandler];
+    [self readAttributeOnOffWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOnOffWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -4527,20 +4801,32 @@
     }
     [self subscribeAttributeOnOffWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeOnOffWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnOffWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeOnOffWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeGlobalSceneControlWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGlobalSceneControlWithCompletion:completionHandler];
+    [self readAttributeGlobalSceneControlWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGlobalSceneControlWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -4559,7 +4845,10 @@
     }
     [self subscribeAttributeGlobalSceneControlWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeGlobalSceneControlWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -4570,12 +4859,18 @@
     [self readAttributeGlobalSceneControlWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeOnTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnTimeWithCompletion:completionHandler];
+    [self readAttributeOnTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOnTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -4602,20 +4897,32 @@
     }
     [self subscribeAttributeOnTimeWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeOnTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnTimeWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeOnTimeWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeOffWaitTimeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOffWaitTimeWithCompletion:completionHandler];
+    [self readAttributeOffWaitTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOffWaitTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -4642,7 +4949,10 @@
     }
     [self subscribeAttributeOffWaitTimeWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeOffWaitTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -4653,13 +4963,19 @@
     [self readAttributeOffWaitTimeWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeStartUpOnOffWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStartUpOnOffWithCompletion:completionHandler];
+    [self readAttributeStartUpOnOffWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeStartUpOnOffWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -4686,7 +5002,10 @@
     }
     [self subscribeAttributeStartUpOnOffWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeStartUpOnOffWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -4697,13 +5016,19 @@
     [self readAttributeStartUpOnOffWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -4722,7 +5047,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -4733,13 +5061,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -4758,7 +5092,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -4769,13 +5106,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -4792,7 +5135,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -4803,13 +5149,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -4826,7 +5178,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -4836,13 +5191,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -4860,7 +5221,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -4871,7 +5235,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -5442,7 +5809,10 @@
 - (void)readAttributeSwitchTypeWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSwitchTypeWithCompletion:completionHandler];
+    [self readAttributeSwitchTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSwitchTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -5459,7 +5829,10 @@
     }
     [self subscribeAttributeSwitchTypeWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeSwitchTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -5469,13 +5842,19 @@
     [self readAttributeSwitchTypeWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeSwitchActionsWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSwitchActionsWithCompletion:completionHandler];
+    [self readAttributeSwitchActionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeSwitchActionsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -5503,7 +5882,10 @@
     }
     [self subscribeAttributeSwitchActionsWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeSwitchActionsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -5514,13 +5896,19 @@
     [self readAttributeSwitchActionsWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -5539,7 +5927,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -5550,13 +5941,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -5575,7 +5972,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -5586,13 +5986,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -5609,7 +6015,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -5620,13 +6029,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -5643,7 +6058,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -5653,13 +6071,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -5677,7 +6101,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -5688,7 +6115,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -7672,7 +8102,10 @@
 - (void)readAttributeCurrentLevelWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentLevelWithCompletion:completionHandler];
+    [self readAttributeCurrentLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -7689,7 +8122,10 @@
     }
     [self subscribeAttributeCurrentLevelWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeCurrentLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -7700,13 +8136,19 @@
     [self readAttributeCurrentLevelWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeRemainingTimeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRemainingTimeWithCompletion:completionHandler];
+    [self readAttributeRemainingTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRemainingTimeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -7724,7 +8166,10 @@
     }
     [self subscribeAttributeRemainingTimeWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRemainingTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -7735,13 +8180,19 @@
     [self readAttributeRemainingTimeWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinLevelWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinLevelWithCompletion:completionHandler];
+    [self readAttributeMinLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -7758,7 +8209,10 @@
     }
     [self subscribeAttributeMinLevelWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeMinLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -7768,13 +8222,19 @@
     [self readAttributeMinLevelWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeMaxLevelWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxLevelWithCompletion:completionHandler];
+    [self readAttributeMaxLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -7791,7 +8251,10 @@
     }
     [self subscribeAttributeMaxLevelWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeMaxLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -7801,13 +8264,19 @@
     [self readAttributeMaxLevelWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeCurrentFrequencyWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentFrequencyWithCompletion:completionHandler];
+    [self readAttributeCurrentFrequencyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeCurrentFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -7825,7 +8294,10 @@
     }
     [self subscribeAttributeCurrentFrequencyWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeCurrentFrequencyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -7836,13 +8308,19 @@
     [self readAttributeCurrentFrequencyWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMinFrequencyWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinFrequencyWithCompletion:completionHandler];
+    [self readAttributeMinFrequencyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -7859,7 +8337,10 @@
     }
     [self subscribeAttributeMinFrequencyWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeMinFrequencyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -7870,13 +8351,19 @@
     [self readAttributeMinFrequencyWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeMaxFrequencyWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxFrequencyWithCompletion:completionHandler];
+    [self readAttributeMaxFrequencyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -7893,7 +8380,10 @@
     }
     [self subscribeAttributeMaxFrequencyWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeMaxFrequencyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -7904,12 +8394,18 @@
     [self readAttributeMaxFrequencyWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeOptionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOptionsWithCompletion:completionHandler];
+    [self readAttributeOptionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOptionsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -7936,7 +8432,10 @@
     }
     [self subscribeAttributeOptionsWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeOptionsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -7946,13 +8445,19 @@
     [self readAttributeOptionsWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeOnOffTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnOffTransitionTimeWithCompletion:completionHandler];
+    [self readAttributeOnOffTransitionTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOnOffTransitionTimeWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -7982,7 +8487,10 @@
     }
     [self subscribeAttributeOnOffTransitionTimeWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeOnOffTransitionTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -7993,12 +8501,18 @@
     [self readAttributeOnOffTransitionTimeWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeOnLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnLevelWithCompletion:completionHandler];
+    [self readAttributeOnLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOnLevelWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -8025,7 +8539,10 @@
     }
     [self subscribeAttributeOnLevelWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeOnLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -8035,13 +8552,19 @@
     [self readAttributeOnLevelWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeOnTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnTransitionTimeWithCompletion:completionHandler];
+    [self readAttributeOnTransitionTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOnTransitionTimeWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -8069,7 +8592,10 @@
     }
     [self subscribeAttributeOnTransitionTimeWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeOnTransitionTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -8080,13 +8606,19 @@
     [self readAttributeOnTransitionTimeWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeOffTransitionTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOffTransitionTimeWithCompletion:completionHandler];
+    [self readAttributeOffTransitionTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOffTransitionTimeWithValue:(NSNumber * _Nullable)value
                                completionHandler:(MTRStatusCompletion)completionHandler
@@ -8116,7 +8648,10 @@
     }
     [self subscribeAttributeOffTransitionTimeWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeOffTransitionTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -8127,13 +8662,19 @@
     [self readAttributeOffTransitionTimeWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeDefaultMoveRateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDefaultMoveRateWithCompletion:completionHandler];
+    [self readAttributeDefaultMoveRateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeDefaultMoveRateWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -8161,7 +8702,10 @@
     }
     [self subscribeAttributeDefaultMoveRateWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeDefaultMoveRateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -8172,13 +8716,19 @@
     [self readAttributeDefaultMoveRateWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeStartUpCurrentLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStartUpCurrentLevelWithCompletion:completionHandler];
+    [self readAttributeStartUpCurrentLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeStartUpCurrentLevelWithValue:(NSNumber * _Nullable)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -8208,7 +8758,10 @@
     }
     [self subscribeAttributeStartUpCurrentLevelWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeStartUpCurrentLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -8219,13 +8772,19 @@
     [self readAttributeStartUpCurrentLevelWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -8244,7 +8803,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -8255,13 +8817,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -8280,7 +8848,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -8291,13 +8862,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -8314,7 +8891,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -8325,13 +8905,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -8348,7 +8934,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -8358,13 +8947,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -8382,7 +8977,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -8393,7 +8991,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -9631,7 +10232,10 @@
 - (void)readAttributeActiveTextWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveTextWithCompletion:completionHandler];
+    [self readAttributeActiveTextWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeActiveTextWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -9658,7 +10262,10 @@
     }
     [self subscribeAttributeActiveTextWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeActiveTextWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -9668,13 +10275,19 @@
     [self readAttributeActiveTextWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeDescriptionWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDescriptionWithCompletion:completionHandler];
+    [self readAttributeDescriptionWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeDescriptionWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -9701,7 +10314,10 @@
     }
     [self subscribeAttributeDescriptionWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSString *>(value), error);
+                                    }];
 }
 + (void)readAttributeDescriptionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -9712,13 +10328,19 @@
     [self readAttributeDescriptionWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeInactiveTextWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInactiveTextWithCompletion:completionHandler];
+    [self readAttributeInactiveTextWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeInactiveTextWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -9745,7 +10367,10 @@
     }
     [self subscribeAttributeInactiveTextWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSString *>(value), error);
+                                     }];
 }
 + (void)readAttributeInactiveTextWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -9756,13 +10381,19 @@
     [self readAttributeInactiveTextWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeOutOfServiceWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOutOfServiceWithCompletion:completionHandler];
+    [self readAttributeOutOfServiceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOutOfServiceWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -9789,7 +10420,10 @@
     }
     [self subscribeAttributeOutOfServiceWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeOutOfServiceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -9800,13 +10434,19 @@
     [self readAttributeOutOfServiceWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributePolarityWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePolarityWithCompletion:completionHandler];
+    [self readAttributePolarityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePolarityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -9823,7 +10463,10 @@
     }
     [self subscribeAttributePolarityWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributePolarityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -9833,13 +10476,19 @@
     [self readAttributePolarityWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributePresentValueWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePresentValueWithCompletion:completionHandler];
+    [self readAttributePresentValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePresentValueWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -9866,7 +10515,10 @@
     }
     [self subscribeAttributePresentValueWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributePresentValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -9877,13 +10529,19 @@
     [self readAttributePresentValueWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeReliabilityWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReliabilityWithCompletion:completionHandler];
+    [self readAttributeReliabilityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeReliabilityWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -9910,7 +10568,10 @@
     }
     [self subscribeAttributeReliabilityWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeReliabilityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -9921,13 +10582,19 @@
     [self readAttributeReliabilityWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeStatusFlagsWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStatusFlagsWithCompletion:completionHandler];
+    [self readAttributeStatusFlagsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStatusFlagsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -9944,7 +10611,10 @@
     }
     [self subscribeAttributeStatusFlagsWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeStatusFlagsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -9955,13 +10625,19 @@
     [self readAttributeStatusFlagsWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeApplicationTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApplicationTypeWithCompletion:completionHandler];
+    [self readAttributeApplicationTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeApplicationTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -9979,7 +10655,10 @@
     }
     [self subscribeAttributeApplicationTypeWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeApplicationTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -9990,13 +10669,19 @@
     [self readAttributeApplicationTypeWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10015,7 +10700,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -10026,13 +10714,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10051,7 +10745,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -10062,13 +10759,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10085,7 +10788,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -10096,13 +10802,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10119,7 +10831,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -10129,13 +10844,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10153,7 +10874,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -10164,7 +10888,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -10834,7 +11561,10 @@
 - (void)readAttributeDeviceListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDeviceTypeListWithCompletion:completionHandler];
+    [self readAttributeDeviceTypeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDeviceListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10851,7 +11581,10 @@
     }
     [self subscribeAttributeDeviceTypeListWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSArray *>(value), error);
+                                       }];
 }
 + (void)readAttributeDeviceListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -10861,13 +11594,19 @@
     [self readAttributeDeviceTypeListWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeServerListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeServerListWithCompletion:completionHandler];
+    [self readAttributeServerListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeServerListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10884,7 +11623,10 @@
     }
     [self subscribeAttributeServerListWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSArray *>(value), error);
+                                   }];
 }
 + (void)readAttributeServerListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -10894,13 +11636,19 @@
     [self readAttributeServerListWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClientListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClientListWithCompletion:completionHandler];
+    [self readAttributeClientListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClientListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10917,7 +11665,10 @@
     }
     [self subscribeAttributeClientListWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSArray *>(value), error);
+                                   }];
 }
 + (void)readAttributeClientListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -10927,13 +11678,19 @@
     [self readAttributeClientListWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 
 - (void)readAttributePartsListWithCompletionHandler:(void (^)(
                                                         NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePartsListWithCompletion:completionHandler];
+    [self readAttributePartsListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributePartsListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10950,7 +11707,10 @@
     }
     [self subscribeAttributePartsListWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 + (void)readAttributePartsListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -10960,13 +11720,19 @@
     [self readAttributePartsListWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -10985,7 +11751,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -10996,13 +11765,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11021,7 +11796,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -11032,13 +11810,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11055,7 +11839,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -11066,13 +11853,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11089,7 +11882,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -11099,13 +11895,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11123,7 +11925,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -11134,7 +11939,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -11667,7 +12475,11 @@
 - (void)readAttributeBindingWithParams:(MTRReadParams * _Nullable)params
                      completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBindingWithParams:params completion:completionHandler];
+    [self readAttributeBindingWithParams:params
+                              completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  completionHandler(static_cast<NSArray *>(value), error);
+                              }];
 }
 - (void)writeAttributeBindingWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -11694,7 +12506,10 @@
     }
     [self subscribeAttributeBindingWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSArray *>(value), error);
+                                }];
 }
 + (void)readAttributeBindingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -11704,13 +12519,19 @@
     [self readAttributeBindingWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11729,7 +12550,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -11740,13 +12564,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11765,7 +12595,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -11776,13 +12609,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11799,7 +12638,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -11810,13 +12652,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11833,7 +12681,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -11843,13 +12694,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -11867,7 +12724,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -11878,7 +12738,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -12825,7 +13688,11 @@
 - (void)readAttributeAclWithParams:(MTRReadParams * _Nullable)params
                  completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAclWithParams:params completion:completionHandler];
+    [self readAttributeAclWithParams:params
+                          completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                              // Cast is safe because subclass does not add any selectors.
+                              completionHandler(static_cast<NSArray *>(value), error);
+                          }];
 }
 - (void)writeAttributeAclWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -12852,20 +13719,33 @@
     }
     [self subscribeAttributeAclWithParams:subscribeParams
                   subscriptionEstablished:subscriptionEstablishedHandler
-                            reportHandler:reportHandler];
+                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                reportHandler(static_cast<NSArray *>(value), error);
+                            }];
 }
 + (void)readAttributeAclWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                   endpoint:(NSNumber *)endpoint
                                      queue:(dispatch_queue_t)queue
                          completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAclWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeAclWithAttributeCache:attributeCacheContainer
+                                    endpoint:endpoint
+                                       queue:queue
+                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      completionHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 
 - (void)readAttributeExtensionWithParams:(MTRReadParams * _Nullable)params
                        completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeExtensionWithParams:params completion:completionHandler];
+    [self readAttributeExtensionWithParams:params
+                                completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    completionHandler(static_cast<NSArray *>(value), error);
+                                }];
 }
 - (void)writeAttributeExtensionWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -12892,7 +13772,10 @@
     }
     [self subscribeAttributeExtensionWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 + (void)readAttributeExtensionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -12902,13 +13785,19 @@
     [self readAttributeExtensionWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeSubjectsPerAccessControlEntryWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSubjectsPerAccessControlEntryWithCompletion:completionHandler];
+    [self readAttributeSubjectsPerAccessControlEntryWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSubjectsPerAccessControlEntryWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -12927,7 +13816,10 @@
     }
     [self subscribeAttributeSubjectsPerAccessControlEntryWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeSubjectsPerAccessControlEntryWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -12938,13 +13830,19 @@
     [self readAttributeSubjectsPerAccessControlEntryWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeTargetsPerAccessControlEntryWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTargetsPerAccessControlEntryWithCompletion:completionHandler];
+    [self readAttributeTargetsPerAccessControlEntryWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTargetsPerAccessControlEntryWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -12963,7 +13861,10 @@
     }
     [self subscribeAttributeTargetsPerAccessControlEntryWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeTargetsPerAccessControlEntryWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -12974,13 +13875,19 @@
     [self readAttributeTargetsPerAccessControlEntryWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeAccessControlEntriesPerFabricWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAccessControlEntriesPerFabricWithCompletion:completionHandler];
+    [self readAttributeAccessControlEntriesPerFabricWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAccessControlEntriesPerFabricWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -12999,7 +13906,10 @@
     }
     [self subscribeAttributeAccessControlEntriesPerFabricWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeAccessControlEntriesPerFabricWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -13010,13 +13920,19 @@
     [self readAttributeAccessControlEntriesPerFabricWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -13035,7 +13951,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -13046,13 +13965,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -13071,7 +13996,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -13082,13 +14010,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -13105,7 +14039,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -13116,13 +14053,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -13139,7 +14082,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -13149,13 +14095,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -13173,7 +14125,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -13184,7 +14139,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -14220,7 +15178,10 @@
 - (void)readAttributeActionListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActionListWithCompletion:completionHandler];
+    [self readAttributeActionListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActionListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14237,7 +15198,10 @@
     }
     [self subscribeAttributeActionListWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSArray *>(value), error);
+                                   }];
 }
 + (void)readAttributeActionListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -14247,13 +15211,19 @@
     [self readAttributeActionListWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeEndpointListsWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEndpointListsWithCompletion:completionHandler];
+    [self readAttributeEndpointListsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeEndpointListsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14270,7 +15240,10 @@
     }
     [self subscribeAttributeEndpointListsWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeEndpointListsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -14281,13 +15254,19 @@
     [self readAttributeEndpointListsWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeSetupURLWithCompletionHandler:(void (^)(
                                                        NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSetupURLWithCompletion:completionHandler];
+    [self readAttributeSetupURLWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSetupURLWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14304,7 +15283,10 @@
     }
     [self subscribeAttributeSetupURLWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSString *>(value), error);
+                                 }];
 }
 + (void)readAttributeSetupURLWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -14314,13 +15296,19 @@
     [self readAttributeSetupURLWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSString *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14339,7 +15327,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -14350,13 +15341,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14375,7 +15372,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -14386,13 +15386,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14409,7 +15415,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -14420,13 +15429,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14443,7 +15458,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -14453,13 +15471,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -14477,7 +15501,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -14488,7 +15515,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -16407,13 +17437,16 @@
 }
 - (void)mfgSpecificPingWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self mfgSpecificPingWithParams:nil completion:completionHandler];
+    [self mfgSpecificPingWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeDataModelRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDataModelRevisionWithCompletion:completionHandler];
+    [self readAttributeDataModelRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDataModelRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16432,7 +17465,10 @@
     }
     [self subscribeAttributeDataModelRevisionWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeDataModelRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -16443,13 +17479,19 @@
     [self readAttributeDataModelRevisionWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeVendorNameWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVendorNameWithCompletion:completionHandler];
+    [self readAttributeVendorNameWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16466,7 +17508,10 @@
     }
     [self subscribeAttributeVendorNameWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeVendorNameWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -16476,13 +17521,19 @@
     [self readAttributeVendorNameWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeVendorIDWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVendorIDWithCompletion:completionHandler];
+    [self readAttributeVendorIDWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16499,7 +17550,10 @@
     }
     [self subscribeAttributeVendorIDWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeVendorIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -16509,13 +17563,19 @@
     [self readAttributeVendorIDWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeProductNameWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductNameWithCompletion:completionHandler];
+    [self readAttributeProductNameWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductNameWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16532,7 +17592,10 @@
     }
     [self subscribeAttributeProductNameWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSString *>(value), error);
+                                    }];
 }
 + (void)readAttributeProductNameWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -16543,13 +17606,19 @@
     [self readAttributeProductNameWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeProductIDWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductIDWithCompletion:completionHandler];
+    [self readAttributeProductIDWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16566,7 +17635,10 @@
     }
     [self subscribeAttributeProductIDWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeProductIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -16576,13 +17648,19 @@
     [self readAttributeProductIDWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeNodeLabelWithCompletionHandler:(void (^)(
                                                         NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNodeLabelWithCompletion:completionHandler];
+    [self readAttributeNodeLabelWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -16609,7 +17687,10 @@
     }
     [self subscribeAttributeNodeLabelWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSString *>(value), error);
+                                  }];
 }
 + (void)readAttributeNodeLabelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -16619,13 +17700,19 @@
     [self readAttributeNodeLabelWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSString *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeLocationWithCompletionHandler:(void (^)(
                                                        NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLocationWithCompletion:completionHandler];
+    [self readAttributeLocationWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeLocationWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -16652,7 +17739,10 @@
     }
     [self subscribeAttributeLocationWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSString *>(value), error);
+                                 }];
 }
 + (void)readAttributeLocationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -16662,13 +17752,19 @@
     [self readAttributeLocationWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSString *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeHardwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeHardwareVersionWithCompletion:completionHandler];
+    [self readAttributeHardwareVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeHardwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16686,7 +17782,10 @@
     }
     [self subscribeAttributeHardwareVersionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeHardwareVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -16697,13 +17796,19 @@
     [self readAttributeHardwareVersionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeHardwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeHardwareVersionStringWithCompletion:completionHandler];
+    [self readAttributeHardwareVersionStringWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16722,7 +17827,10 @@
     }
     [self subscribeAttributeHardwareVersionStringWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSString *>(value), error);
+                                              }];
 }
 + (void)readAttributeHardwareVersionStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -16733,13 +17841,19 @@
     [self readAttributeHardwareVersionStringWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSString *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeSoftwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSoftwareVersionWithCompletion:completionHandler];
+    [self readAttributeSoftwareVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSoftwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16757,7 +17871,10 @@
     }
     [self subscribeAttributeSoftwareVersionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeSoftwareVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -16768,13 +17885,19 @@
     [self readAttributeSoftwareVersionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeSoftwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSoftwareVersionStringWithCompletion:completionHandler];
+    [self readAttributeSoftwareVersionStringWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16793,7 +17916,10 @@
     }
     [self subscribeAttributeSoftwareVersionStringWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSString *>(value), error);
+                                              }];
 }
 + (void)readAttributeSoftwareVersionStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -16804,13 +17930,19 @@
     [self readAttributeSoftwareVersionStringWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSString *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeManufacturingDateWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeManufacturingDateWithCompletion:completionHandler];
+    [self readAttributeManufacturingDateWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeManufacturingDateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16829,7 +17961,10 @@
     }
     [self subscribeAttributeManufacturingDateWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 + (void)readAttributeManufacturingDateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -16840,13 +17975,19 @@
     [self readAttributeManufacturingDateWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSString *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePartNumberWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePartNumberWithCompletion:completionHandler];
+    [self readAttributePartNumberWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributePartNumberWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16863,7 +18004,10 @@
     }
     [self subscribeAttributePartNumberWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributePartNumberWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -16873,13 +18017,19 @@
     [self readAttributePartNumberWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeProductURLWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductURLWithCompletion:completionHandler];
+    [self readAttributeProductURLWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductURLWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16896,7 +18046,10 @@
     }
     [self subscribeAttributeProductURLWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeProductURLWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -16906,13 +18059,19 @@
     [self readAttributeProductURLWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeProductLabelWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductLabelWithCompletion:completionHandler];
+    [self readAttributeProductLabelWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductLabelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16929,7 +18088,10 @@
     }
     [self subscribeAttributeProductLabelWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSString *>(value), error);
+                                     }];
 }
 + (void)readAttributeProductLabelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -16940,13 +18102,19 @@
     [self readAttributeProductLabelWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeSerialNumberWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSerialNumberWithCompletion:completionHandler];
+    [self readAttributeSerialNumberWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSerialNumberWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -16963,7 +18131,10 @@
     }
     [self subscribeAttributeSerialNumberWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSString *>(value), error);
+                                     }];
 }
 + (void)readAttributeSerialNumberWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -16974,13 +18145,19 @@
     [self readAttributeSerialNumberWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeLocalConfigDisabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLocalConfigDisabledWithCompletion:completionHandler];
+    [self readAttributeLocalConfigDisabledWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLocalConfigDisabledWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -17010,7 +18187,10 @@
     }
     [self subscribeAttributeLocalConfigDisabledWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeLocalConfigDisabledWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -17021,13 +18201,19 @@
     [self readAttributeLocalConfigDisabledWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeReachableWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReachableWithCompletion:completionHandler];
+    [self readAttributeReachableWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeReachableWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17044,7 +18230,10 @@
     }
     [self subscribeAttributeReachableWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeReachableWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -17054,13 +18243,19 @@
     [self readAttributeReachableWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeUniqueIDWithCompletionHandler:(void (^)(
                                                        NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUniqueIDWithCompletion:completionHandler];
+    [self readAttributeUniqueIDWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUniqueIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17077,7 +18272,10 @@
     }
     [self subscribeAttributeUniqueIDWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSString *>(value), error);
+                                 }];
 }
 + (void)readAttributeUniqueIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -17087,13 +18285,20 @@
     [self readAttributeUniqueIDWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSString *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeCapabilityMinimaWithCompletionHandler:(void (^)(MTRBasicClusterCapabilityMinimaStruct * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCapabilityMinimaWithCompletion:completionHandler];
+    [self readAttributeCapabilityMinimaWithCompletion:^(
+        MTRBasicClusterCapabilityMinimaStruct * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRBasicClusterCapabilityMinimaStruct *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCapabilityMinimaWithMinInterval:(NSNumber * _Nonnull)minInterval
                                               maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17112,7 +18317,11 @@
     }
     [self subscribeAttributeCapabilityMinimaWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(
+                                             MTRBasicClusterCapabilityMinimaStruct * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<MTRBasicClusterCapabilityMinimaStruct *>(value), error);
+                                         }];
 }
 + (void)readAttributeCapabilityMinimaWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -17123,13 +18332,21 @@
     [self readAttributeCapabilityMinimaWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(MTRBasicClusterCapabilityMinimaStruct * _Nullable value,
+                                                   NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(
+                                                       static_cast<MTRBasicClusterCapabilityMinimaStruct *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17148,7 +18365,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -17159,13 +18379,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17184,7 +18410,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -17195,13 +18424,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17218,7 +18453,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -17229,13 +18467,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17252,7 +18496,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -17262,13 +18509,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17286,7 +18539,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -17297,7 +18553,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -17817,13 +19076,24 @@
            completionHandler:(void (^)(MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data,
                                  NSError * _Nullable error))completionHandler
 {
-    [self queryImageWithParams:params completion:completionHandler];
+    [self queryImageWithParams:params
+                    completion:^(
+                        MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams *>(data), error);
+                    }];
 }
 - (void)applyUpdateRequestWithParams:(MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams *)params
                    completionHandler:(void (^)(MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler
 {
-    [self applyUpdateRequestWithParams:params completion:completionHandler];
+    [self applyUpdateRequestWithParams:params
+                            completion:^(MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams * _Nullable data,
+                                NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(
+                                    static_cast<MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams *>(data), error);
+                            }];
 }
 - (void)notifyUpdateAppliedWithParams:(MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams *)params
                     completionHandler:(MTRStatusCompletion)completionHandler
@@ -17834,7 +19104,10 @@
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17853,7 +19126,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -17864,13 +19140,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17889,7 +19171,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -17900,13 +19185,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17923,7 +19214,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -17934,13 +19228,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17957,7 +19257,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -17967,13 +19270,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -17991,7 +19300,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -18002,7 +19314,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -18794,7 +20109,11 @@
 - (void)readAttributeDefaultOtaProvidersWithParams:(MTRReadParams * _Nullable)params
                                  completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDefaultOtaProvidersWithParams:params completion:completionHandler];
+    [self readAttributeDefaultOtaProvidersWithParams:params
+                                          completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 - (void)writeAttributeDefaultOtaProvidersWithValue:(NSArray * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -18824,7 +20143,10 @@
     }
     [self subscribeAttributeDefaultOtaProvidersWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeDefaultOtaProvidersWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -18835,13 +20157,19 @@
     [self readAttributeDefaultOtaProvidersWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeUpdatePossibleWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUpdatePossibleWithCompletion:completionHandler];
+    [self readAttributeUpdatePossibleWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUpdatePossibleWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -18859,7 +20187,10 @@
     }
     [self subscribeAttributeUpdatePossibleWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeUpdatePossibleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -18870,13 +20201,19 @@
     [self readAttributeUpdatePossibleWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeUpdateStateWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUpdateStateWithCompletion:completionHandler];
+    [self readAttributeUpdateStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUpdateStateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -18893,7 +20230,10 @@
     }
     [self subscribeAttributeUpdateStateWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeUpdateStateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -18904,13 +20244,19 @@
     [self readAttributeUpdateStateWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeUpdateStateProgressWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUpdateStateProgressWithCompletion:completionHandler];
+    [self readAttributeUpdateStateProgressWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUpdateStateProgressWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -18929,7 +20275,10 @@
     }
     [self subscribeAttributeUpdateStateProgressWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeUpdateStateProgressWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -18940,13 +20289,19 @@
     [self readAttributeUpdateStateProgressWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -18965,7 +20320,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -18976,13 +20334,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19001,7 +20365,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -19012,13 +20379,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19035,7 +20408,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -19046,13 +20422,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19069,7 +20451,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -19079,13 +20464,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19103,7 +20494,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -19114,7 +20508,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -19690,7 +21087,10 @@
 - (void)readAttributeActiveLocaleWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveLocaleWithCompletion:completionHandler];
+    [self readAttributeActiveLocaleWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeActiveLocaleWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -19717,7 +21117,10 @@
     }
     [self subscribeAttributeActiveLocaleWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSString *>(value), error);
+                                     }];
 }
 + (void)readAttributeActiveLocaleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -19728,13 +21131,19 @@
     [self readAttributeActiveLocaleWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeSupportedLocalesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSupportedLocalesWithCompletion:completionHandler];
+    [self readAttributeSupportedLocalesWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeSupportedLocalesWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -19752,7 +21161,10 @@
     }
     [self subscribeAttributeSupportedLocalesWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 + (void)readAttributeSupportedLocalesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -19763,13 +21175,19 @@
     [self readAttributeSupportedLocalesWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSArray *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19788,7 +21206,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -19799,13 +21220,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19824,7 +21251,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -19835,13 +21265,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19858,7 +21294,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -19869,13 +21308,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19892,7 +21337,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -19902,13 +21350,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -19926,7 +21380,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -19937,7 +21394,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -20633,7 +22093,10 @@
 - (void)readAttributeHourFormatWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeHourFormatWithCompletion:completionHandler];
+    [self readAttributeHourFormatWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeHourFormatWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -20660,7 +22123,10 @@
     }
     [self subscribeAttributeHourFormatWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeHourFormatWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -20670,13 +22136,19 @@
     [self readAttributeHourFormatWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeActiveCalendarTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveCalendarTypeWithCompletion:completionHandler];
+    [self readAttributeActiveCalendarTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeActiveCalendarTypeWithValue:(NSNumber * _Nonnull)value
                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -20706,7 +22178,10 @@
     }
     [self subscribeAttributeActiveCalendarTypeWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeActiveCalendarTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -20717,13 +22192,19 @@
     [self readAttributeActiveCalendarTypeWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeSupportedCalendarTypesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSupportedCalendarTypesWithCompletion:completionHandler];
+    [self readAttributeSupportedCalendarTypesWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSupportedCalendarTypesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -20742,7 +22223,10 @@
     }
     [self subscribeAttributeSupportedCalendarTypesWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSArray *>(value), error);
+                                               }];
 }
 + (void)readAttributeSupportedCalendarTypesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -20753,13 +22237,19 @@
     [self readAttributeSupportedCalendarTypesWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSArray *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -20778,7 +22268,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -20789,13 +22282,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -20814,7 +22313,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -20825,13 +22327,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -20848,7 +22356,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -20859,13 +22370,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -20882,7 +22399,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -20892,13 +22412,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -20916,7 +22442,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -20927,7 +22456,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -21432,7 +22964,10 @@
 - (void)readAttributeTemperatureUnitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTemperatureUnitWithCompletion:completionHandler];
+    [self readAttributeTemperatureUnitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeTemperatureUnitWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -21460,7 +22995,10 @@
     }
     [self subscribeAttributeTemperatureUnitWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeTemperatureUnitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -21471,13 +23009,19 @@
     [self readAttributeTemperatureUnitWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -21496,7 +23040,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -21507,13 +23054,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -21532,7 +23085,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -21543,13 +23099,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -21566,7 +23128,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -21577,13 +23142,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -21600,7 +23171,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -21610,13 +23184,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -21634,7 +23214,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -21645,7 +23228,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -22113,7 +23699,10 @@
 
 - (void)readAttributeSourcesWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSourcesWithCompletion:completionHandler];
+    [self readAttributeSourcesWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSourcesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -22130,7 +23719,10 @@
     }
     [self subscribeAttributeSourcesWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSArray *>(value), error);
+                                }];
 }
 + (void)readAttributeSourcesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -22140,13 +23732,19 @@
     [self readAttributeSourcesWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -22165,7 +23763,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -22176,13 +23777,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -22201,7 +23808,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -22212,13 +23822,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -22235,7 +23851,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -22246,13 +23865,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -22269,7 +23894,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -22279,13 +23907,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -22303,7 +23937,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -22314,7 +23951,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -24906,7 +26546,10 @@
 
 - (void)readAttributeStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStatusWithCompletion:completionHandler];
+    [self readAttributeStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -24923,19 +26566,31 @@
     }
     [self subscribeAttributeStatusWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStatusWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeStatusWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeOrderWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOrderWithCompletion:completionHandler];
+    [self readAttributeOrderWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOrderWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -24952,20 +26607,32 @@
     }
     [self subscribeAttributeOrderWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeOrderWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOrderWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeOrderWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeDescriptionWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDescriptionWithCompletion:completionHandler];
+    [self readAttributeDescriptionWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDescriptionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -24982,7 +26649,10 @@
     }
     [self subscribeAttributeDescriptionWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSString *>(value), error);
+                                    }];
 }
 + (void)readAttributeDescriptionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -24993,13 +26663,19 @@
     [self readAttributeDescriptionWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeWiredAssessedInputVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiredAssessedInputVoltageWithCompletion:completionHandler];
+    [self readAttributeWiredAssessedInputVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWiredAssessedInputVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25018,7 +26694,10 @@
     }
     [self subscribeAttributeWiredAssessedInputVoltageWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeWiredAssessedInputVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -25029,13 +26708,19 @@
     [self readAttributeWiredAssessedInputVoltageWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeWiredAssessedInputFrequencyWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiredAssessedInputFrequencyWithCompletion:completionHandler];
+    [self readAttributeWiredAssessedInputFrequencyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWiredAssessedInputFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25054,7 +26739,10 @@
     }
     [self subscribeAttributeWiredAssessedInputFrequencyWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeWiredAssessedInputFrequencyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -25065,13 +26753,19 @@
     [self readAttributeWiredAssessedInputFrequencyWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeWiredCurrentTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiredCurrentTypeWithCompletion:completionHandler];
+    [self readAttributeWiredCurrentTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeWiredCurrentTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -25089,7 +26783,10 @@
     }
     [self subscribeAttributeWiredCurrentTypeWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeWiredCurrentTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -25100,13 +26797,19 @@
     [self readAttributeWiredCurrentTypeWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeWiredAssessedCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiredAssessedCurrentWithCompletion:completionHandler];
+    [self readAttributeWiredAssessedCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWiredAssessedCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25125,7 +26828,10 @@
     }
     [self subscribeAttributeWiredAssessedCurrentWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeWiredAssessedCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -25136,13 +26842,19 @@
     [self readAttributeWiredAssessedCurrentWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeWiredNominalVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiredNominalVoltageWithCompletion:completionHandler];
+    [self readAttributeWiredNominalVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWiredNominalVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25161,7 +26873,10 @@
     }
     [self subscribeAttributeWiredNominalVoltageWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeWiredNominalVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -25172,13 +26887,19 @@
     [self readAttributeWiredNominalVoltageWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeWiredMaximumCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiredMaximumCurrentWithCompletion:completionHandler];
+    [self readAttributeWiredMaximumCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWiredMaximumCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25197,7 +26918,10 @@
     }
     [self subscribeAttributeWiredMaximumCurrentWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeWiredMaximumCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -25208,13 +26932,19 @@
     [self readAttributeWiredMaximumCurrentWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeWiredPresentWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiredPresentWithCompletion:completionHandler];
+    [self readAttributeWiredPresentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWiredPresentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25231,7 +26961,10 @@
     }
     [self subscribeAttributeWiredPresentWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeWiredPresentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -25242,13 +26975,19 @@
     [self readAttributeWiredPresentWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeActiveWiredFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveWiredFaultsWithCompletion:completionHandler];
+    [self readAttributeActiveWiredFaultsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeActiveWiredFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -25266,7 +27005,10 @@
     }
     [self subscribeAttributeActiveWiredFaultsWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 + (void)readAttributeActiveWiredFaultsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -25277,13 +27019,19 @@
     [self readAttributeActiveWiredFaultsWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSArray *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeBatVoltageWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatVoltageWithCompletion:completionHandler];
+    [self readAttributeBatVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25300,7 +27048,10 @@
     }
     [self subscribeAttributeBatVoltageWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeBatVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -25310,13 +27061,19 @@
     [self readAttributeBatVoltageWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeBatPercentRemainingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatPercentRemainingWithCompletion:completionHandler];
+    [self readAttributeBatPercentRemainingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatPercentRemainingWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25335,7 +27092,10 @@
     }
     [self subscribeAttributeBatPercentRemainingWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeBatPercentRemainingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -25346,13 +27106,19 @@
     [self readAttributeBatPercentRemainingWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeBatTimeRemainingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatTimeRemainingWithCompletion:completionHandler];
+    [self readAttributeBatTimeRemainingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeBatTimeRemainingWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -25370,7 +27136,10 @@
     }
     [self subscribeAttributeBatTimeRemainingWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeBatTimeRemainingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -25381,13 +27150,19 @@
     [self readAttributeBatTimeRemainingWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeBatChargeLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatChargeLevelWithCompletion:completionHandler];
+    [self readAttributeBatChargeLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatChargeLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25405,7 +27180,10 @@
     }
     [self subscribeAttributeBatChargeLevelWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeBatChargeLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -25416,13 +27194,19 @@
     [self readAttributeBatChargeLevelWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeBatReplacementNeededWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatReplacementNeededWithCompletion:completionHandler];
+    [self readAttributeBatReplacementNeededWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatReplacementNeededWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25441,7 +27225,10 @@
     }
     [self subscribeAttributeBatReplacementNeededWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeBatReplacementNeededWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -25452,13 +27239,19 @@
     [self readAttributeBatReplacementNeededWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeBatReplaceabilityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatReplaceabilityWithCompletion:completionHandler];
+    [self readAttributeBatReplaceabilityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatReplaceabilityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25477,7 +27270,10 @@
     }
     [self subscribeAttributeBatReplaceabilityWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeBatReplaceabilityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -25488,13 +27284,19 @@
     [self readAttributeBatReplaceabilityWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeBatPresentWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatPresentWithCompletion:completionHandler];
+    [self readAttributeBatPresentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatPresentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25511,7 +27313,10 @@
     }
     [self subscribeAttributeBatPresentWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeBatPresentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -25521,13 +27326,19 @@
     [self readAttributeBatPresentWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeActiveBatFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveBatFaultsWithCompletion:completionHandler];
+    [self readAttributeActiveBatFaultsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveBatFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25545,7 +27356,10 @@
     }
     [self subscribeAttributeActiveBatFaultsWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 + (void)readAttributeActiveBatFaultsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -25556,13 +27370,19 @@
     [self readAttributeActiveBatFaultsWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSArray *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeBatReplacementDescriptionWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatReplacementDescriptionWithCompletion:completionHandler];
+    [self readAttributeBatReplacementDescriptionWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatReplacementDescriptionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25581,7 +27401,10 @@
     }
     [self subscribeAttributeBatReplacementDescriptionWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSString *>(value), error);
+                                                  }];
 }
 + (void)readAttributeBatReplacementDescriptionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -25592,13 +27415,19 @@
     [self readAttributeBatReplacementDescriptionWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSString *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeBatCommonDesignationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatCommonDesignationWithCompletion:completionHandler];
+    [self readAttributeBatCommonDesignationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatCommonDesignationWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25617,7 +27446,10 @@
     }
     [self subscribeAttributeBatCommonDesignationWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeBatCommonDesignationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -25628,13 +27460,19 @@
     [self readAttributeBatCommonDesignationWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeBatANSIDesignationWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatANSIDesignationWithCompletion:completionHandler];
+    [self readAttributeBatANSIDesignationWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatANSIDesignationWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25653,7 +27491,10 @@
     }
     [self subscribeAttributeBatANSIDesignationWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 + (void)readAttributeBatANSIDesignationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -25664,13 +27505,19 @@
     [self readAttributeBatANSIDesignationWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSString *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeBatIECDesignationWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatIECDesignationWithCompletion:completionHandler];
+    [self readAttributeBatIECDesignationWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatIECDesignationWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25689,7 +27536,10 @@
     }
     [self subscribeAttributeBatIECDesignationWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 + (void)readAttributeBatIECDesignationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -25700,13 +27550,19 @@
     [self readAttributeBatIECDesignationWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSString *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeBatApprovedChemistryWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatApprovedChemistryWithCompletion:completionHandler];
+    [self readAttributeBatApprovedChemistryWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatApprovedChemistryWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25725,7 +27581,10 @@
     }
     [self subscribeAttributeBatApprovedChemistryWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeBatApprovedChemistryWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -25736,13 +27595,19 @@
     [self readAttributeBatApprovedChemistryWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeBatCapacityWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatCapacityWithCompletion:completionHandler];
+    [self readAttributeBatCapacityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatCapacityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25759,7 +27624,10 @@
     }
     [self subscribeAttributeBatCapacityWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeBatCapacityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -25770,13 +27638,19 @@
     [self readAttributeBatCapacityWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeBatQuantityWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatQuantityWithCompletion:completionHandler];
+    [self readAttributeBatQuantityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatQuantityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25793,7 +27667,10 @@
     }
     [self subscribeAttributeBatQuantityWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeBatQuantityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -25804,13 +27681,19 @@
     [self readAttributeBatQuantityWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeBatChargeStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatChargeStateWithCompletion:completionHandler];
+    [self readAttributeBatChargeStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatChargeStateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25828,7 +27711,10 @@
     }
     [self subscribeAttributeBatChargeStateWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeBatChargeStateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -25839,13 +27725,19 @@
     [self readAttributeBatChargeStateWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeBatTimeToFullChargeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatTimeToFullChargeWithCompletion:completionHandler];
+    [self readAttributeBatTimeToFullChargeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatTimeToFullChargeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25864,7 +27756,10 @@
     }
     [self subscribeAttributeBatTimeToFullChargeWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeBatTimeToFullChargeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -25875,13 +27770,19 @@
     [self readAttributeBatTimeToFullChargeWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeBatFunctionalWhileChargingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatFunctionalWhileChargingWithCompletion:completionHandler];
+    [self readAttributeBatFunctionalWhileChargingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatFunctionalWhileChargingWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25900,7 +27801,10 @@
     }
     [self subscribeAttributeBatFunctionalWhileChargingWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeBatFunctionalWhileChargingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -25911,13 +27815,19 @@
     [self readAttributeBatFunctionalWhileChargingWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeBatChargingCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBatChargingCurrentWithCompletion:completionHandler];
+    [self readAttributeBatChargingCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBatChargingCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25936,7 +27846,10 @@
     }
     [self subscribeAttributeBatChargingCurrentWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeBatChargingCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -25947,13 +27860,19 @@
     [self readAttributeBatChargingCurrentWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeActiveBatChargeFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveBatChargeFaultsWithCompletion:completionHandler];
+    [self readAttributeActiveBatChargeFaultsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveBatChargeFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -25972,7 +27891,10 @@
     }
     [self subscribeAttributeActiveBatChargeFaultsWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSArray *>(value), error);
+                                              }];
 }
 + (void)readAttributeActiveBatChargeFaultsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -25983,13 +27905,19 @@
     [self readAttributeActiveBatChargeFaultsWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSArray *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -26008,7 +27936,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -26019,13 +27950,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -26044,7 +27981,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -26055,13 +27995,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -26078,7 +28024,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -26089,13 +28038,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -26112,7 +28067,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -26122,13 +28080,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -26146,7 +28110,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -26157,7 +28124,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -27050,32 +29020,53 @@
             completionHandler:(void (^)(MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data,
                                   NSError * _Nullable error))completionHandler
 {
-    [self armFailSafeWithParams:params completion:completionHandler];
+    [self armFailSafeWithParams:params
+                     completion:^(
+                         MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRGeneralCommissioningClusterArmFailSafeResponseParams *>(data), error);
+                     }];
 }
 - (void)setRegulatoryConfigWithParams:(MTRGeneralCommissioningClusterSetRegulatoryConfigParams *)params
                     completionHandler:(void (^)(MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler
 {
-    [self setRegulatoryConfigWithParams:params completion:completionHandler];
+    [self setRegulatoryConfigWithParams:params
+                             completion:^(MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams * _Nullable data,
+                                 NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(
+                                     static_cast<MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams *>(data), error);
+                             }];
 }
 - (void)commissioningCompleteWithParams:(MTRGeneralCommissioningClusterCommissioningCompleteParams * _Nullable)params
                       completionHandler:
                           (void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
                               NSError * _Nullable error))completionHandler
 {
-    [self commissioningCompleteWithParams:params completion:completionHandler];
+    [self
+        commissioningCompleteWithParams:params
+                             completion:^(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
+                                 NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(
+                                     static_cast<MTRGeneralCommissioningClusterCommissioningCompleteResponseParams *>(data), error);
+                             }];
 }
 - (void)commissioningCompleteWithCompletionHandler:
     (void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
         NSError * _Nullable error))completionHandler
 {
-    [self commissioningCompleteWithParams:nil completion:completionHandler];
+    [self commissioningCompleteWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeBreadcrumbWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBreadcrumbWithCompletion:completionHandler];
+    [self readAttributeBreadcrumbWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBreadcrumbWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -27102,7 +29093,10 @@
     }
     [self subscribeAttributeBreadcrumbWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeBreadcrumbWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -27112,13 +29106,20 @@
     [self readAttributeBreadcrumbWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeBasicCommissioningInfoWithCompletionHandler:
     (void (^)(MTRGeneralCommissioningClusterBasicCommissioningInfo * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBasicCommissioningInfoWithCompletion:completionHandler];
+    [self readAttributeBasicCommissioningInfoWithCompletion:^(
+        MTRGeneralCommissioningClusterBasicCommissioningInfo * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRGeneralCommissioningClusterBasicCommissioningInfo *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBasicCommissioningInfoWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27137,9 +29138,16 @@
         subscribeParams.minInterval = minInterval;
         subscribeParams.maxInterval = maxInterval;
     }
-    [self subscribeAttributeBasicCommissioningInfoWithParams:subscribeParams
-                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+    [self
+        subscribeAttributeBasicCommissioningInfoWithParams:subscribeParams
+                                   subscriptionEstablished:subscriptionEstablishedHandler
+                                             reportHandler:^(MTRGeneralCommissioningClusterBasicCommissioningInfo * _Nullable value,
+                                                 NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(
+                                                     static_cast<MTRGeneralCommissioningClusterBasicCommissioningInfo *>(value),
+                                                     error);
+                                             }];
 }
 + (void)readAttributeBasicCommissioningInfoWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -27151,13 +29159,24 @@
     [self readAttributeBasicCommissioningInfoWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(
+                                                         MTRGeneralCommissioningClusterBasicCommissioningInfo * _Nullable value,
+                                                         NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(
+                                                             static_cast<MTRGeneralCommissioningClusterBasicCommissioningInfo *>(
+                                                                 value),
+                                                             error);
+                                                     }];
 }
 
 - (void)readAttributeRegulatoryConfigWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRegulatoryConfigWithCompletion:completionHandler];
+    [self readAttributeRegulatoryConfigWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeRegulatoryConfigWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -27175,7 +29194,10 @@
     }
     [self subscribeAttributeRegulatoryConfigWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeRegulatoryConfigWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -27186,13 +29208,19 @@
     [self readAttributeRegulatoryConfigWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeLocationCapabilityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLocationCapabilityWithCompletion:completionHandler];
+    [self readAttributeLocationCapabilityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLocationCapabilityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27211,7 +29239,10 @@
     }
     [self subscribeAttributeLocationCapabilityWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeLocationCapabilityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -27222,13 +29253,19 @@
     [self readAttributeLocationCapabilityWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeSupportsConcurrentConnectionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSupportsConcurrentConnectionWithCompletion:completionHandler];
+    [self readAttributeSupportsConcurrentConnectionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSupportsConcurrentConnectionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27247,7 +29284,10 @@
     }
     [self subscribeAttributeSupportsConcurrentConnectionWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeSupportsConcurrentConnectionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -27258,13 +29298,19 @@
     [self readAttributeSupportsConcurrentConnectionWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27283,7 +29329,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -27294,13 +29343,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27319,7 +29374,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -27330,13 +29388,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27353,7 +29417,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -27364,13 +29431,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27387,7 +29460,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -27397,13 +29473,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -27421,7 +29503,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -27432,7 +29517,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -28628,43 +30716,80 @@
              completionHandler:(void (^)(MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
-    [self scanNetworksWithParams:params completion:completionHandler];
+    [self scanNetworksWithParams:params
+                      completion:^(
+                          MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRNetworkCommissioningClusterScanNetworksResponseParams *>(data), error);
+                      }];
 }
 - (void)addOrUpdateWiFiNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateWiFiNetworkParams *)params
                        completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                              NSError * _Nullable error))completionHandler
 {
-    [self addOrUpdateWiFiNetworkWithParams:params completion:completionHandler];
+    [self addOrUpdateWiFiNetworkWithParams:params
+                                completion:^(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                    NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    completionHandler(
+                                        static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                                }];
 }
 - (void)addOrUpdateThreadNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateThreadNetworkParams *)params
                          completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler
 {
-    [self addOrUpdateThreadNetworkWithParams:params completion:completionHandler];
+    [self addOrUpdateThreadNetworkWithParams:params
+                                  completion:^(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                      NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      completionHandler(
+                                          static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                                  }];
 }
 - (void)removeNetworkWithParams:(MTRNetworkCommissioningClusterRemoveNetworkParams *)params
               completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                     NSError * _Nullable error))completionHandler
 {
-    [self removeNetworkWithParams:params completion:completionHandler];
+    [self removeNetworkWithParams:params
+                       completion:^(
+                           MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                       }];
 }
 - (void)connectNetworkWithParams:(MTRNetworkCommissioningClusterConnectNetworkParams *)params
                completionHandler:(void (^)(MTRNetworkCommissioningClusterConnectNetworkResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler
 {
-    [self connectNetworkWithParams:params completion:completionHandler];
+    [self
+        connectNetworkWithParams:params
+                      completion:^(
+                          MTRNetworkCommissioningClusterConnectNetworkResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRNetworkCommissioningClusterConnectNetworkResponseParams *>(data), error);
+                      }];
 }
 - (void)reorderNetworkWithParams:(MTRNetworkCommissioningClusterReorderNetworkParams *)params
                completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler
 {
-    [self reorderNetworkWithParams:params completion:completionHandler];
+    [self
+        reorderNetworkWithParams:params
+                      completion:^(
+                          MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                      }];
 }
 
 - (void)readAttributeMaxNetworksWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxNetworksWithCompletion:completionHandler];
+    [self readAttributeMaxNetworksWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxNetworksWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28681,7 +30806,10 @@
     }
     [self subscribeAttributeMaxNetworksWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeMaxNetworksWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -28692,12 +30820,18 @@
     [self readAttributeMaxNetworksWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeNetworksWithCompletionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNetworksWithCompletion:completionHandler];
+    [self readAttributeNetworksWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNetworksWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28714,7 +30848,10 @@
     }
     [self subscribeAttributeNetworksWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSArray *>(value), error);
+                                 }];
 }
 + (void)readAttributeNetworksWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -28724,13 +30861,19 @@
     [self readAttributeNetworksWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSArray *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeScanMaxTimeSecondsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeScanMaxTimeSecondsWithCompletion:completionHandler];
+    [self readAttributeScanMaxTimeSecondsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeScanMaxTimeSecondsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28749,7 +30892,10 @@
     }
     [self subscribeAttributeScanMaxTimeSecondsWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeScanMaxTimeSecondsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -28760,13 +30906,19 @@
     [self readAttributeScanMaxTimeSecondsWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeConnectMaxTimeSecondsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeConnectMaxTimeSecondsWithCompletion:completionHandler];
+    [self readAttributeConnectMaxTimeSecondsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeConnectMaxTimeSecondsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28785,7 +30937,10 @@
     }
     [self subscribeAttributeConnectMaxTimeSecondsWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeConnectMaxTimeSecondsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -28796,13 +30951,19 @@
     [self readAttributeConnectMaxTimeSecondsWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeInterfaceEnabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInterfaceEnabledWithCompletion:completionHandler];
+    [self readAttributeInterfaceEnabledWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInterfaceEnabledWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -28830,7 +30991,10 @@
     }
     [self subscribeAttributeInterfaceEnabledWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeInterfaceEnabledWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -28841,13 +31005,19 @@
     [self readAttributeInterfaceEnabledWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeLastNetworkingStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLastNetworkingStatusWithCompletion:completionHandler];
+    [self readAttributeLastNetworkingStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLastNetworkingStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28866,7 +31036,10 @@
     }
     [self subscribeAttributeLastNetworkingStatusWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeLastNetworkingStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -28877,13 +31050,19 @@
     [self readAttributeLastNetworkingStatusWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeLastNetworkIDWithCompletionHandler:(void (^)(
                                                             NSData * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLastNetworkIDWithCompletion:completionHandler];
+    [self readAttributeLastNetworkIDWithCompletion:^(NSData * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSData *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLastNetworkIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28900,7 +31079,10 @@
     }
     [self subscribeAttributeLastNetworkIDWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSData *>(value), error);
+                                      }];
 }
 + (void)readAttributeLastNetworkIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -28911,13 +31093,19 @@
     [self readAttributeLastNetworkIDWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSData *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeLastConnectErrorValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLastConnectErrorValueWithCompletion:completionHandler];
+    [self readAttributeLastConnectErrorValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLastConnectErrorValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28936,7 +31124,10 @@
     }
     [self subscribeAttributeLastConnectErrorValueWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeLastConnectErrorValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -28947,13 +31138,19 @@
     [self readAttributeLastConnectErrorValueWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -28972,7 +31169,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -28983,13 +31183,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29008,7 +31214,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -29019,13 +31228,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29042,7 +31257,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -29053,13 +31271,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29076,7 +31300,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -29086,13 +31313,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29110,7 +31343,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -29121,7 +31357,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -29545,13 +31784,21 @@
                     completionHandler:(void (^)(MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler
 {
-    [self retrieveLogsRequestWithParams:params completion:completionHandler];
+    [self retrieveLogsRequestWithParams:params
+                             completion:^(
+                                 MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(static_cast<MTRDiagnosticLogsClusterRetrieveLogsResponseParams *>(data), error);
+                             }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29570,7 +31817,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -29581,13 +31831,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29606,7 +31862,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -29617,13 +31876,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29640,7 +31905,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -29651,13 +31919,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29674,7 +31948,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -29684,13 +31961,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -29708,7 +31991,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -29719,7 +32005,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -30799,7 +33088,10 @@
 - (void)readAttributeNetworkInterfacesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNetworkInterfacesWithCompletion:completionHandler];
+    [self readAttributeNetworkInterfacesWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeNetworkInterfacesWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -30817,7 +33109,10 @@
     }
     [self subscribeAttributeNetworkInterfacesWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 + (void)readAttributeNetworkInterfacesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -30828,13 +33123,19 @@
     [self readAttributeNetworkInterfacesWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSArray *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeRebootCountWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRebootCountWithCompletion:completionHandler];
+    [self readAttributeRebootCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRebootCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -30851,7 +33152,10 @@
     }
     [self subscribeAttributeRebootCountWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeRebootCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -30862,12 +33166,18 @@
     [self readAttributeRebootCountWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeUpTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUpTimeWithCompletion:completionHandler];
+    [self readAttributeUpTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUpTimeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -30884,20 +33194,32 @@
     }
     [self subscribeAttributeUpTimeWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeUpTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUpTimeWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeUpTimeWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeTotalOperationalHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTotalOperationalHoursWithCompletion:completionHandler];
+    [self readAttributeTotalOperationalHoursWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTotalOperationalHoursWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -30916,7 +33238,10 @@
     }
     [self subscribeAttributeTotalOperationalHoursWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeTotalOperationalHoursWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -30927,13 +33252,19 @@
     [self readAttributeTotalOperationalHoursWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeBootReasonsWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBootReasonsWithCompletion:completionHandler];
+    [self readAttributeBootReasonsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBootReasonsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -30950,7 +33281,10 @@
     }
     [self subscribeAttributeBootReasonsWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeBootReasonsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -30961,13 +33295,19 @@
     [self readAttributeBootReasonsWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeActiveHardwareFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveHardwareFaultsWithCompletion:completionHandler];
+    [self readAttributeActiveHardwareFaultsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveHardwareFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -30986,7 +33326,10 @@
     }
     [self subscribeAttributeActiveHardwareFaultsWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeActiveHardwareFaultsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -30997,13 +33340,19 @@
     [self readAttributeActiveHardwareFaultsWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeActiveRadioFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveRadioFaultsWithCompletion:completionHandler];
+    [self readAttributeActiveRadioFaultsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeActiveRadioFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -31021,7 +33370,10 @@
     }
     [self subscribeAttributeActiveRadioFaultsWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 + (void)readAttributeActiveRadioFaultsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -31032,13 +33384,19 @@
     [self readAttributeActiveRadioFaultsWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSArray *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeActiveNetworkFaultsWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveNetworkFaultsWithCompletion:completionHandler];
+    [self readAttributeActiveNetworkFaultsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveNetworkFaultsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -31057,7 +33415,10 @@
     }
     [self subscribeAttributeActiveNetworkFaultsWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeActiveNetworkFaultsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -31068,13 +33429,19 @@
     [self readAttributeActiveNetworkFaultsWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeTestEventTriggersEnabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTestEventTriggersEnabledWithCompletion:completionHandler];
+    [self readAttributeTestEventTriggersEnabledWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTestEventTriggersEnabledWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -31093,7 +33460,10 @@
     }
     [self subscribeAttributeTestEventTriggersEnabledWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeTestEventTriggersEnabledWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -31104,13 +33474,19 @@
     [self readAttributeTestEventTriggersEnabledWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -31129,7 +33505,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -31140,13 +33519,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -31165,7 +33550,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -31176,13 +33564,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -31199,7 +33593,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -31210,13 +33607,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -31233,7 +33636,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -31243,13 +33649,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -31267,7 +33679,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -31278,7 +33693,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -31991,13 +34409,16 @@
 }
 - (void)resetWatermarksWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetWatermarksWithParams:nil completion:completionHandler];
+    [self resetWatermarksWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeThreadMetricsWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeThreadMetricsWithCompletion:completionHandler];
+    [self readAttributeThreadMetricsWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeThreadMetricsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32014,7 +34435,10 @@
     }
     [self subscribeAttributeThreadMetricsWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeThreadMetricsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -32025,13 +34449,19 @@
     [self readAttributeThreadMetricsWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeCurrentHeapFreeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentHeapFreeWithCompletion:completionHandler];
+    [self readAttributeCurrentHeapFreeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentHeapFreeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32049,7 +34479,10 @@
     }
     [self subscribeAttributeCurrentHeapFreeWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeCurrentHeapFreeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -32060,13 +34493,19 @@
     [self readAttributeCurrentHeapFreeWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeCurrentHeapUsedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentHeapUsedWithCompletion:completionHandler];
+    [self readAttributeCurrentHeapUsedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentHeapUsedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32084,7 +34523,10 @@
     }
     [self subscribeAttributeCurrentHeapUsedWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeCurrentHeapUsedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -32095,13 +34537,19 @@
     [self readAttributeCurrentHeapUsedWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeCurrentHeapHighWatermarkWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentHeapHighWatermarkWithCompletion:completionHandler];
+    [self readAttributeCurrentHeapHighWatermarkWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentHeapHighWatermarkWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32120,7 +34568,10 @@
     }
     [self subscribeAttributeCurrentHeapHighWatermarkWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeCurrentHeapHighWatermarkWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -32131,13 +34582,19 @@
     [self readAttributeCurrentHeapHighWatermarkWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32156,7 +34613,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -32167,13 +34627,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32192,7 +34658,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -32203,13 +34672,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32226,7 +34701,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -32237,13 +34715,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32260,7 +34744,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -32270,13 +34757,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -32294,7 +34787,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -32305,7 +34801,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -37172,12 +39671,15 @@
 }
 - (void)resetCountsWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetCountsWithParams:nil completion:completionHandler];
+    [self resetCountsWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeChannelWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeChannelWithCompletion:completionHandler];
+    [self readAttributeChannelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeChannelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37194,7 +39696,10 @@
     }
     [self subscribeAttributeChannelWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeChannelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -37204,13 +39709,19 @@
     [self readAttributeChannelWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeRoutingRoleWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRoutingRoleWithCompletion:completionHandler];
+    [self readAttributeRoutingRoleWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRoutingRoleWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37227,7 +39738,10 @@
     }
     [self subscribeAttributeRoutingRoleWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeRoutingRoleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -37238,13 +39752,19 @@
     [self readAttributeRoutingRoleWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeNetworkNameWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNetworkNameWithCompletion:completionHandler];
+    [self readAttributeNetworkNameWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNetworkNameWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37261,7 +39781,10 @@
     }
     [self subscribeAttributeNetworkNameWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSString *>(value), error);
+                                    }];
 }
 + (void)readAttributeNetworkNameWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -37272,12 +39795,18 @@
     [self readAttributeNetworkNameWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 
 - (void)readAttributePanIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePanIdWithCompletion:completionHandler];
+    [self readAttributePanIdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePanIdWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37294,20 +39823,32 @@
     }
     [self subscribeAttributePanIdWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributePanIdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePanIdWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributePanIdWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeExtendedPanIdWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeExtendedPanIdWithCompletion:completionHandler];
+    [self readAttributeExtendedPanIdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeExtendedPanIdWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37325,7 +39866,10 @@
     }
     [self subscribeAttributeExtendedPanIdWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeExtendedPanIdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -37336,13 +39880,19 @@
     [self readAttributeExtendedPanIdWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMeshLocalPrefixWithCompletionHandler:(void (^)(
                                                               NSData * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeshLocalPrefixWithCompletion:completionHandler];
+    [self readAttributeMeshLocalPrefixWithCompletion:^(NSData * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSData *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeshLocalPrefixWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37360,7 +39910,10 @@
     }
     [self subscribeAttributeMeshLocalPrefixWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSData *>(value), error);
+                                        }];
 }
 + (void)readAttributeMeshLocalPrefixWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -37371,13 +39924,19 @@
     [self readAttributeMeshLocalPrefixWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSData *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOverrunCountWithCompletion:completionHandler];
+    [self readAttributeOverrunCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37394,7 +39953,10 @@
     }
     [self subscribeAttributeOverrunCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeOverrunCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -37405,13 +39967,19 @@
     [self readAttributeOverrunCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeNeighborTableListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNeighborTableListWithCompletion:completionHandler];
+    [self readAttributeNeighborTableListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeNeighborTableListWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -37429,7 +39997,10 @@
     }
     [self subscribeAttributeNeighborTableListWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 + (void)readAttributeNeighborTableListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -37440,13 +40011,19 @@
     [self readAttributeNeighborTableListWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSArray *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeRouteTableListWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRouteTableListWithCompletion:completionHandler];
+    [self readAttributeRouteTableListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRouteTableListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37464,7 +40041,10 @@
     }
     [self subscribeAttributeRouteTableListWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSArray *>(value), error);
+                                       }];
 }
 + (void)readAttributeRouteTableListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -37475,13 +40055,19 @@
     [self readAttributeRouteTableListWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 
 - (void)readAttributePartitionIdWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePartitionIdWithCompletion:completionHandler];
+    [self readAttributePartitionIdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePartitionIdWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37498,7 +40084,10 @@
     }
     [self subscribeAttributePartitionIdWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributePartitionIdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -37509,13 +40098,19 @@
     [self readAttributePartitionIdWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeWeightingWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWeightingWithCompletion:completionHandler];
+    [self readAttributeWeightingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWeightingWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37532,7 +40127,10 @@
     }
     [self subscribeAttributeWeightingWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeWeightingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -37542,13 +40140,19 @@
     [self readAttributeWeightingWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeDataVersionWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDataVersionWithCompletion:completionHandler];
+    [self readAttributeDataVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDataVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37565,7 +40169,10 @@
     }
     [self subscribeAttributeDataVersionWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeDataVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -37576,13 +40183,19 @@
     [self readAttributeDataVersionWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeStableDataVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStableDataVersionWithCompletion:completionHandler];
+    [self readAttributeStableDataVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStableDataVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37601,7 +40214,10 @@
     }
     [self subscribeAttributeStableDataVersionWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeStableDataVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -37612,13 +40228,19 @@
     [self readAttributeStableDataVersionWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeLeaderRouterIdWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLeaderRouterIdWithCompletion:completionHandler];
+    [self readAttributeLeaderRouterIdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLeaderRouterIdWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37636,7 +40258,10 @@
     }
     [self subscribeAttributeLeaderRouterIdWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeLeaderRouterIdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -37647,13 +40272,19 @@
     [self readAttributeLeaderRouterIdWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeDetachedRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDetachedRoleCountWithCompletion:completionHandler];
+    [self readAttributeDetachedRoleCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDetachedRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37672,7 +40303,10 @@
     }
     [self subscribeAttributeDetachedRoleCountWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeDetachedRoleCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -37683,13 +40317,19 @@
     [self readAttributeDetachedRoleCountWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeChildRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeChildRoleCountWithCompletion:completionHandler];
+    [self readAttributeChildRoleCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeChildRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37707,7 +40347,10 @@
     }
     [self subscribeAttributeChildRoleCountWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeChildRoleCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -37718,13 +40361,19 @@
     [self readAttributeChildRoleCountWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeRouterRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRouterRoleCountWithCompletion:completionHandler];
+    [self readAttributeRouterRoleCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRouterRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37742,7 +40391,10 @@
     }
     [self subscribeAttributeRouterRoleCountWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeRouterRoleCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -37753,13 +40405,19 @@
     [self readAttributeRouterRoleCountWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeLeaderRoleCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLeaderRoleCountWithCompletion:completionHandler];
+    [self readAttributeLeaderRoleCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLeaderRoleCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37777,7 +40435,10 @@
     }
     [self subscribeAttributeLeaderRoleCountWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeLeaderRoleCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -37788,13 +40449,19 @@
     [self readAttributeLeaderRoleCountWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeAttachAttemptCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttachAttemptCountWithCompletion:completionHandler];
+    [self readAttributeAttachAttemptCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttachAttemptCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37813,7 +40480,10 @@
     }
     [self subscribeAttributeAttachAttemptCountWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeAttachAttemptCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -37824,13 +40494,19 @@
     [self readAttributeAttachAttemptCountWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributePartitionIdChangeCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributePartitionIdChangeCountWithCompletion:completionHandler];
+    [self readAttributePartitionIdChangeCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePartitionIdChangeCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37849,7 +40525,10 @@
     }
     [self subscribeAttributePartitionIdChangeCountWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributePartitionIdChangeCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -37860,13 +40539,19 @@
     [self readAttributePartitionIdChangeCountWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeBetterPartitionAttachAttemptCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBetterPartitionAttachAttemptCountWithCompletion:completionHandler];
+    [self readAttributeBetterPartitionAttachAttemptCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBetterPartitionAttachAttemptCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37885,7 +40570,10 @@
     }
     [self subscribeAttributeBetterPartitionAttachAttemptCountWithParams:subscribeParams
                                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                                          reportHandler:reportHandler];
+                                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 + (void)readAttributeBetterPartitionAttachAttemptCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                 endpoint:(NSNumber *)endpoint
@@ -37893,16 +40581,23 @@
                                                        completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBetterPartitionAttachAttemptCountWithAttributeCache:attributeCacheContainer
-                                                                  endpoint:endpoint
-                                                                     queue:queue
-                                                                completion:completionHandler];
+    [self
+        readAttributeBetterPartitionAttachAttemptCountWithAttributeCache:attributeCacheContainer
+                                                                endpoint:endpoint
+                                                                   queue:queue
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeParentChangeCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeParentChangeCountWithCompletion:completionHandler];
+    [self readAttributeParentChangeCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeParentChangeCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37921,7 +40616,10 @@
     }
     [self subscribeAttributeParentChangeCountWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeParentChangeCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -37932,13 +40630,19 @@
     [self readAttributeParentChangeCountWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeTxTotalCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxTotalCountWithCompletion:completionHandler];
+    [self readAttributeTxTotalCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxTotalCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37955,7 +40659,10 @@
     }
     [self subscribeAttributeTxTotalCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeTxTotalCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -37966,13 +40673,19 @@
     [self readAttributeTxTotalCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeTxUnicastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxUnicastCountWithCompletion:completionHandler];
+    [self readAttributeTxUnicastCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxUnicastCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -37990,7 +40703,10 @@
     }
     [self subscribeAttributeTxUnicastCountWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeTxUnicastCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -38001,13 +40717,19 @@
     [self readAttributeTxUnicastCountWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeTxBroadcastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxBroadcastCountWithCompletion:completionHandler];
+    [self readAttributeTxBroadcastCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeTxBroadcastCountWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -38025,7 +40747,10 @@
     }
     [self subscribeAttributeTxBroadcastCountWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeTxBroadcastCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -38036,13 +40761,19 @@
     [self readAttributeTxBroadcastCountWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeTxAckRequestedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxAckRequestedCountWithCompletion:completionHandler];
+    [self readAttributeTxAckRequestedCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxAckRequestedCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38061,7 +40792,10 @@
     }
     [self subscribeAttributeTxAckRequestedCountWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeTxAckRequestedCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -38072,13 +40806,19 @@
     [self readAttributeTxAckRequestedCountWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeTxAckedCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxAckedCountWithCompletion:completionHandler];
+    [self readAttributeTxAckedCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxAckedCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38095,7 +40835,10 @@
     }
     [self subscribeAttributeTxAckedCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeTxAckedCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -38106,13 +40849,19 @@
     [self readAttributeTxAckedCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeTxNoAckRequestedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxNoAckRequestedCountWithCompletion:completionHandler];
+    [self readAttributeTxNoAckRequestedCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxNoAckRequestedCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38131,7 +40880,10 @@
     }
     [self subscribeAttributeTxNoAckRequestedCountWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeTxNoAckRequestedCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -38142,13 +40894,19 @@
     [self readAttributeTxNoAckRequestedCountWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeTxDataCountWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxDataCountWithCompletion:completionHandler];
+    [self readAttributeTxDataCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxDataCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38165,7 +40923,10 @@
     }
     [self subscribeAttributeTxDataCountWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeTxDataCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -38176,13 +40937,19 @@
     [self readAttributeTxDataCountWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeTxDataPollCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxDataPollCountWithCompletion:completionHandler];
+    [self readAttributeTxDataPollCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxDataPollCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38200,7 +40967,10 @@
     }
     [self subscribeAttributeTxDataPollCountWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeTxDataPollCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -38211,13 +40981,19 @@
     [self readAttributeTxDataPollCountWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeTxBeaconCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxBeaconCountWithCompletion:completionHandler];
+    [self readAttributeTxBeaconCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxBeaconCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38235,7 +41011,10 @@
     }
     [self subscribeAttributeTxBeaconCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeTxBeaconCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -38246,13 +41025,19 @@
     [self readAttributeTxBeaconCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeTxBeaconRequestCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxBeaconRequestCountWithCompletion:completionHandler];
+    [self readAttributeTxBeaconRequestCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxBeaconRequestCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38271,7 +41056,10 @@
     }
     [self subscribeAttributeTxBeaconRequestCountWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeTxBeaconRequestCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -38282,13 +41070,19 @@
     [self readAttributeTxBeaconRequestCountWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeTxOtherCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxOtherCountWithCompletion:completionHandler];
+    [self readAttributeTxOtherCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxOtherCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38305,7 +41099,10 @@
     }
     [self subscribeAttributeTxOtherCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeTxOtherCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -38316,13 +41113,19 @@
     [self readAttributeTxOtherCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeTxRetryCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxRetryCountWithCompletion:completionHandler];
+    [self readAttributeTxRetryCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxRetryCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38339,7 +41142,10 @@
     }
     [self subscribeAttributeTxRetryCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeTxRetryCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -38350,13 +41156,19 @@
     [self readAttributeTxRetryCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeTxDirectMaxRetryExpiryCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxDirectMaxRetryExpiryCountWithCompletion:completionHandler];
+    [self readAttributeTxDirectMaxRetryExpiryCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxDirectMaxRetryExpiryCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38375,7 +41187,10 @@
     }
     [self subscribeAttributeTxDirectMaxRetryExpiryCountWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeTxDirectMaxRetryExpiryCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -38386,13 +41201,19 @@
     [self readAttributeTxDirectMaxRetryExpiryCountWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeTxIndirectMaxRetryExpiryCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxIndirectMaxRetryExpiryCountWithCompletion:completionHandler];
+    [self readAttributeTxIndirectMaxRetryExpiryCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxIndirectMaxRetryExpiryCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38411,7 +41232,10 @@
     }
     [self subscribeAttributeTxIndirectMaxRetryExpiryCountWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeTxIndirectMaxRetryExpiryCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -38422,13 +41246,19 @@
     [self readAttributeTxIndirectMaxRetryExpiryCountWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeTxErrCcaCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxErrCcaCountWithCompletion:completionHandler];
+    [self readAttributeTxErrCcaCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxErrCcaCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38446,7 +41276,10 @@
     }
     [self subscribeAttributeTxErrCcaCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeTxErrCcaCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -38457,13 +41290,19 @@
     [self readAttributeTxErrCcaCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeTxErrAbortCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxErrAbortCountWithCompletion:completionHandler];
+    [self readAttributeTxErrAbortCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxErrAbortCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38481,7 +41320,10 @@
     }
     [self subscribeAttributeTxErrAbortCountWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeTxErrAbortCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -38492,13 +41334,19 @@
     [self readAttributeTxErrAbortCountWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeTxErrBusyChannelCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxErrBusyChannelCountWithCompletion:completionHandler];
+    [self readAttributeTxErrBusyChannelCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxErrBusyChannelCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38517,7 +41365,10 @@
     }
     [self subscribeAttributeTxErrBusyChannelCountWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeTxErrBusyChannelCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -38528,13 +41379,19 @@
     [self readAttributeTxErrBusyChannelCountWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeRxTotalCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxTotalCountWithCompletion:completionHandler];
+    [self readAttributeRxTotalCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxTotalCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38551,7 +41408,10 @@
     }
     [self subscribeAttributeRxTotalCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeRxTotalCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -38562,13 +41422,19 @@
     [self readAttributeRxTotalCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeRxUnicastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxUnicastCountWithCompletion:completionHandler];
+    [self readAttributeRxUnicastCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxUnicastCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38586,7 +41452,10 @@
     }
     [self subscribeAttributeRxUnicastCountWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeRxUnicastCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -38597,13 +41466,19 @@
     [self readAttributeRxUnicastCountWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeRxBroadcastCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxBroadcastCountWithCompletion:completionHandler];
+    [self readAttributeRxBroadcastCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeRxBroadcastCountWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -38621,7 +41496,10 @@
     }
     [self subscribeAttributeRxBroadcastCountWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeRxBroadcastCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -38632,13 +41510,19 @@
     [self readAttributeRxBroadcastCountWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeRxDataCountWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxDataCountWithCompletion:completionHandler];
+    [self readAttributeRxDataCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxDataCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38655,7 +41539,10 @@
     }
     [self subscribeAttributeRxDataCountWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeRxDataCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -38666,13 +41553,19 @@
     [self readAttributeRxDataCountWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeRxDataPollCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxDataPollCountWithCompletion:completionHandler];
+    [self readAttributeRxDataPollCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxDataPollCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38690,7 +41583,10 @@
     }
     [self subscribeAttributeRxDataPollCountWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeRxDataPollCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -38701,13 +41597,19 @@
     [self readAttributeRxDataPollCountWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeRxBeaconCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxBeaconCountWithCompletion:completionHandler];
+    [self readAttributeRxBeaconCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxBeaconCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38725,7 +41627,10 @@
     }
     [self subscribeAttributeRxBeaconCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRxBeaconCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -38736,13 +41641,19 @@
     [self readAttributeRxBeaconCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRxBeaconRequestCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxBeaconRequestCountWithCompletion:completionHandler];
+    [self readAttributeRxBeaconRequestCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxBeaconRequestCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38761,7 +41672,10 @@
     }
     [self subscribeAttributeRxBeaconRequestCountWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeRxBeaconRequestCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -38772,13 +41686,19 @@
     [self readAttributeRxBeaconRequestCountWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeRxOtherCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxOtherCountWithCompletion:completionHandler];
+    [self readAttributeRxOtherCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxOtherCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38795,7 +41715,10 @@
     }
     [self subscribeAttributeRxOtherCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeRxOtherCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -38806,13 +41729,19 @@
     [self readAttributeRxOtherCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeRxAddressFilteredCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxAddressFilteredCountWithCompletion:completionHandler];
+    [self readAttributeRxAddressFilteredCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxAddressFilteredCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38831,7 +41760,10 @@
     }
     [self subscribeAttributeRxAddressFilteredCountWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeRxAddressFilteredCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -38842,13 +41774,19 @@
     [self readAttributeRxAddressFilteredCountWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeRxDestAddrFilteredCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxDestAddrFilteredCountWithCompletion:completionHandler];
+    [self readAttributeRxDestAddrFilteredCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxDestAddrFilteredCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38867,7 +41805,10 @@
     }
     [self subscribeAttributeRxDestAddrFilteredCountWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeRxDestAddrFilteredCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -38878,13 +41819,19 @@
     [self readAttributeRxDestAddrFilteredCountWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeRxDuplicatedCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxDuplicatedCountWithCompletion:completionHandler];
+    [self readAttributeRxDuplicatedCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxDuplicatedCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38903,7 +41850,10 @@
     }
     [self subscribeAttributeRxDuplicatedCountWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeRxDuplicatedCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -38914,13 +41864,19 @@
     [self readAttributeRxDuplicatedCountWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeRxErrNoFrameCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxErrNoFrameCountWithCompletion:completionHandler];
+    [self readAttributeRxErrNoFrameCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxErrNoFrameCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38939,7 +41895,10 @@
     }
     [self subscribeAttributeRxErrNoFrameCountWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeRxErrNoFrameCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -38950,13 +41909,19 @@
     [self readAttributeRxErrNoFrameCountWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeRxErrUnknownNeighborCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxErrUnknownNeighborCountWithCompletion:completionHandler];
+    [self readAttributeRxErrUnknownNeighborCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxErrUnknownNeighborCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -38975,7 +41940,10 @@
     }
     [self subscribeAttributeRxErrUnknownNeighborCountWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeRxErrUnknownNeighborCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -38986,13 +41954,19 @@
     [self readAttributeRxErrUnknownNeighborCountWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeRxErrInvalidSrcAddrCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxErrInvalidSrcAddrCountWithCompletion:completionHandler];
+    [self readAttributeRxErrInvalidSrcAddrCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxErrInvalidSrcAddrCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39011,7 +41985,10 @@
     }
     [self subscribeAttributeRxErrInvalidSrcAddrCountWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeRxErrInvalidSrcAddrCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -39022,13 +41999,19 @@
     [self readAttributeRxErrInvalidSrcAddrCountWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeRxErrSecCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxErrSecCountWithCompletion:completionHandler];
+    [self readAttributeRxErrSecCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxErrSecCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39046,7 +42029,10 @@
     }
     [self subscribeAttributeRxErrSecCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRxErrSecCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -39057,13 +42043,19 @@
     [self readAttributeRxErrSecCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRxErrFcsCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxErrFcsCountWithCompletion:completionHandler];
+    [self readAttributeRxErrFcsCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxErrFcsCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39081,7 +42073,10 @@
     }
     [self subscribeAttributeRxErrFcsCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRxErrFcsCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -39092,13 +42087,19 @@
     [self readAttributeRxErrFcsCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRxErrOtherCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRxErrOtherCountWithCompletion:completionHandler];
+    [self readAttributeRxErrOtherCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRxErrOtherCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39116,7 +42117,10 @@
     }
     [self subscribeAttributeRxErrOtherCountWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeRxErrOtherCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -39127,13 +42131,19 @@
     [self readAttributeRxErrOtherCountWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeActiveTimestampWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveTimestampWithCompletion:completionHandler];
+    [self readAttributeActiveTimestampWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveTimestampWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39151,7 +42161,10 @@
     }
     [self subscribeAttributeActiveTimestampWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeActiveTimestampWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -39162,13 +42175,19 @@
     [self readAttributeActiveTimestampWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributePendingTimestampWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributePendingTimestampWithCompletion:completionHandler];
+    [self readAttributePendingTimestampWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributePendingTimestampWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -39186,7 +42205,10 @@
     }
     [self subscribeAttributePendingTimestampWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributePendingTimestampWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -39197,12 +42219,18 @@
     [self readAttributePendingTimestampWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDelayWithCompletion:completionHandler];
+    [self readAttributeDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDelayWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39219,20 +42247,33 @@
     }
     [self subscribeAttributeDelayWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeDelayWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDelayWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeDelayWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeSecurityPolicyWithCompletionHandler:
     (void (^)(MTRThreadNetworkDiagnosticsClusterSecurityPolicy * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSecurityPolicyWithCompletion:completionHandler];
+    [self readAttributeSecurityPolicyWithCompletion:^(
+        MTRThreadNetworkDiagnosticsClusterSecurityPolicy * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRThreadNetworkDiagnosticsClusterSecurityPolicy *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSecurityPolicyWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39251,7 +42292,12 @@
     }
     [self subscribeAttributeSecurityPolicyWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(MTRThreadNetworkDiagnosticsClusterSecurityPolicy * _Nullable value,
+                                           NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(
+                                               static_cast<MTRThreadNetworkDiagnosticsClusterSecurityPolicy *>(value), error);
+                                       }];
 }
 + (void)readAttributeSecurityPolicyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -39262,13 +42308,21 @@
     [self readAttributeSecurityPolicyWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(MTRThreadNetworkDiagnosticsClusterSecurityPolicy * _Nullable value,
+                                                 NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(
+                                                     static_cast<MTRThreadNetworkDiagnosticsClusterSecurityPolicy *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeChannelPage0MaskWithCompletionHandler:(void (^)(NSData * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeChannelPage0MaskWithCompletion:completionHandler];
+    [self readAttributeChannelPage0MaskWithCompletion:^(NSData * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSData *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeChannelPage0MaskWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -39286,7 +42340,10 @@
     }
     [self subscribeAttributeChannelPage0MaskWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSData *>(value), error);
+                                         }];
 }
 + (void)readAttributeChannelPage0MaskWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -39297,14 +42354,21 @@
     [self readAttributeChannelPage0MaskWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSData *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeOperationalDatasetComponentsWithCompletionHandler:
     (void (^)(MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents * _Nullable value,
         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOperationalDatasetComponentsWithCompletion:completionHandler];
+    [self readAttributeOperationalDatasetComponentsWithCompletion:^(
+        MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeOperationalDatasetComponentsWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -39324,9 +42388,19 @@
         subscribeParams.minInterval = minInterval;
         subscribeParams.maxInterval = maxInterval;
     }
-    [self subscribeAttributeOperationalDatasetComponentsWithParams:subscribeParams
-                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+    [self
+        subscribeAttributeOperationalDatasetComponentsWithParams:subscribeParams
+                                         subscriptionEstablished:subscriptionEstablishedHandler
+                                                   reportHandler:^(
+                                                       MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents * _Nullable value,
+                                                       NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(
+                                                           static_cast<
+                                                               MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents *>(
+                                                               value),
+                                                           error);
+                                                   }];
 }
 + (void)
     readAttributeOperationalDatasetComponentsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
@@ -39337,16 +42411,29 @@
                                                       MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents * _Nullable value,
                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOperationalDatasetComponentsWithAttributeCache:attributeCacheContainer
-                                                             endpoint:endpoint
-                                                                queue:queue
-                                                           completion:completionHandler];
+    [self
+        readAttributeOperationalDatasetComponentsWithAttributeCache:attributeCacheContainer
+                                                           endpoint:endpoint
+                                                              queue:queue
+                                                         completion:^(
+                                                             MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents * _Nullable value,
+                                                             NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(
+                                                                 static_cast<
+                                                                     MTRThreadNetworkDiagnosticsClusterOperationalDatasetComponents *>(
+                                                                     value),
+                                                                 error);
+                                                         }];
 }
 
 - (void)readAttributeActiveNetworkFaultsListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveNetworkFaultsListWithCompletion:completionHandler];
+    [self readAttributeActiveNetworkFaultsListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveNetworkFaultsListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39365,7 +42452,10 @@
     }
     [self subscribeAttributeActiveNetworkFaultsListWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSArray *>(value), error);
+                                                }];
 }
 + (void)readAttributeActiveNetworkFaultsListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -39376,13 +42466,19 @@
     [self readAttributeActiveNetworkFaultsListWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSArray *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39401,7 +42497,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -39412,13 +42511,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39437,7 +42542,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -39448,13 +42556,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39471,7 +42585,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -39482,13 +42599,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39505,7 +42628,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -39515,13 +42641,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -39539,7 +42671,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -39550,7 +42685,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -40900,12 +44038,15 @@
 }
 - (void)resetCountsWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetCountsWithParams:nil completion:completionHandler];
+    [self resetCountsWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeBssidWithCompletionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBssidWithCompletion:completionHandler];
+    [self readAttributeBssidWithCompletion:^(NSData * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSData *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBssidWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -40922,20 +44063,32 @@
     }
     [self subscribeAttributeBssidWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSData *>(value), error);
+                              }];
 }
 + (void)readAttributeBssidWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSData * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBssidWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeBssidWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSData *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeSecurityTypeWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSecurityTypeWithCompletion:completionHandler];
+    [self readAttributeSecurityTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSecurityTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -40952,7 +44105,10 @@
     }
     [self subscribeAttributeSecurityTypeWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeSecurityTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -40963,13 +44119,19 @@
     [self readAttributeSecurityTypeWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeWiFiVersionWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWiFiVersionWithCompletion:completionHandler];
+    [self readAttributeWiFiVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWiFiVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -40986,7 +44148,10 @@
     }
     [self subscribeAttributeWiFiVersionWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeWiFiVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -40997,13 +44162,19 @@
     [self readAttributeWiFiVersionWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeChannelNumberWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeChannelNumberWithCompletion:completionHandler];
+    [self readAttributeChannelNumberWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeChannelNumberWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41021,7 +44192,10 @@
     }
     [self subscribeAttributeChannelNumberWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeChannelNumberWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -41032,12 +44206,18 @@
     [self readAttributeChannelNumberWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRssiWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRssiWithCompletion:completionHandler];
+    [self readAttributeRssiWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRssiWithMinInterval:(NSNumber * _Nonnull)minInterval
                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41054,20 +44234,32 @@
     }
     [self subscribeAttributeRssiWithParams:subscribeParams
                    subscriptionEstablished:subscriptionEstablishedHandler
-                             reportHandler:reportHandler];
+                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 reportHandler(static_cast<NSNumber *>(value), error);
+                             }];
 }
 + (void)readAttributeRssiWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                    endpoint:(NSNumber *)endpoint
                                       queue:(dispatch_queue_t)queue
                           completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRssiWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeRssiWithAttributeCache:attributeCacheContainer
+                                     endpoint:endpoint
+                                        queue:queue
+                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 
 - (void)readAttributeBeaconLostCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBeaconLostCountWithCompletion:completionHandler];
+    [self readAttributeBeaconLostCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBeaconLostCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41085,7 +44277,10 @@
     }
     [self subscribeAttributeBeaconLostCountWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeBeaconLostCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -41096,13 +44291,19 @@
     [self readAttributeBeaconLostCountWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeBeaconRxCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBeaconRxCountWithCompletion:completionHandler];
+    [self readAttributeBeaconRxCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBeaconRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41120,7 +44321,10 @@
     }
     [self subscribeAttributeBeaconRxCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeBeaconRxCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -41131,13 +44335,19 @@
     [self readAttributeBeaconRxCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributePacketMulticastRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributePacketMulticastRxCountWithCompletion:completionHandler];
+    [self readAttributePacketMulticastRxCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePacketMulticastRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41156,7 +44366,10 @@
     }
     [self subscribeAttributePacketMulticastRxCountWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributePacketMulticastRxCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -41167,13 +44380,19 @@
     [self readAttributePacketMulticastRxCountWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributePacketMulticastTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributePacketMulticastTxCountWithCompletion:completionHandler];
+    [self readAttributePacketMulticastTxCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePacketMulticastTxCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41192,7 +44411,10 @@
     }
     [self subscribeAttributePacketMulticastTxCountWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributePacketMulticastTxCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -41203,13 +44425,19 @@
     [self readAttributePacketMulticastTxCountWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributePacketUnicastRxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributePacketUnicastRxCountWithCompletion:completionHandler];
+    [self readAttributePacketUnicastRxCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePacketUnicastRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41228,7 +44456,10 @@
     }
     [self subscribeAttributePacketUnicastRxCountWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributePacketUnicastRxCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -41239,13 +44470,19 @@
     [self readAttributePacketUnicastRxCountWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributePacketUnicastTxCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributePacketUnicastTxCountWithCompletion:completionHandler];
+    [self readAttributePacketUnicastTxCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePacketUnicastTxCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41264,7 +44501,10 @@
     }
     [self subscribeAttributePacketUnicastTxCountWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributePacketUnicastTxCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -41275,13 +44515,19 @@
     [self readAttributePacketUnicastTxCountWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeCurrentMaxRateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentMaxRateWithCompletion:completionHandler];
+    [self readAttributeCurrentMaxRateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentMaxRateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41299,7 +44545,10 @@
     }
     [self subscribeAttributeCurrentMaxRateWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeCurrentMaxRateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -41310,13 +44559,19 @@
     [self readAttributeCurrentMaxRateWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOverrunCountWithCompletion:completionHandler];
+    [self readAttributeOverrunCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41333,7 +44588,10 @@
     }
     [self subscribeAttributeOverrunCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeOverrunCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -41344,13 +44602,19 @@
     [self readAttributeOverrunCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41369,7 +44633,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -41380,13 +44647,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41405,7 +44678,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -41416,13 +44692,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41439,7 +44721,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -41450,13 +44735,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41473,7 +44764,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -41483,13 +44777,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -41507,7 +44807,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -41518,7 +44821,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -42577,12 +45883,15 @@
 }
 - (void)resetCountsWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetCountsWithParams:nil completion:completionHandler];
+    [self resetCountsWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributePHYRateWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePHYRateWithCompletion:completionHandler];
+    [self readAttributePHYRateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePHYRateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42599,7 +45908,10 @@
     }
     [self subscribeAttributePHYRateWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributePHYRateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -42609,13 +45921,19 @@
     [self readAttributePHYRateWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeFullDuplexWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFullDuplexWithCompletion:completionHandler];
+    [self readAttributeFullDuplexWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFullDuplexWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42632,7 +45950,10 @@
     }
     [self subscribeAttributeFullDuplexWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFullDuplexWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -42642,13 +45963,19 @@
     [self readAttributeFullDuplexWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributePacketRxCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePacketRxCountWithCompletion:completionHandler];
+    [self readAttributePacketRxCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePacketRxCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42666,7 +45993,10 @@
     }
     [self subscribeAttributePacketRxCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributePacketRxCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -42677,13 +46007,19 @@
     [self readAttributePacketRxCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributePacketTxCountWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePacketTxCountWithCompletion:completionHandler];
+    [self readAttributePacketTxCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePacketTxCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42701,7 +46037,10 @@
     }
     [self subscribeAttributePacketTxCountWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributePacketTxCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -42712,13 +46051,19 @@
     [self readAttributePacketTxCountWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeTxErrCountWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTxErrCountWithCompletion:completionHandler];
+    [self readAttributeTxErrCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTxErrCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42735,7 +46080,10 @@
     }
     [self subscribeAttributeTxErrCountWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeTxErrCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -42745,13 +46093,19 @@
     [self readAttributeTxErrCountWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeCollisionCountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCollisionCountWithCompletion:completionHandler];
+    [self readAttributeCollisionCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCollisionCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42769,7 +46123,10 @@
     }
     [self subscribeAttributeCollisionCountWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeCollisionCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -42780,13 +46137,19 @@
     [self readAttributeCollisionCountWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeOverrunCountWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOverrunCountWithCompletion:completionHandler];
+    [self readAttributeOverrunCountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOverrunCountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42803,7 +46166,10 @@
     }
     [self subscribeAttributeOverrunCountWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeOverrunCountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -42814,13 +46180,19 @@
     [self readAttributeOverrunCountWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeCarrierDetectWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCarrierDetectWithCompletion:completionHandler];
+    [self readAttributeCarrierDetectWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCarrierDetectWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42838,7 +46210,10 @@
     }
     [self subscribeAttributeCarrierDetectWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeCarrierDetectWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -42849,13 +46224,19 @@
     [self readAttributeCarrierDetectWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeTimeSinceResetWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTimeSinceResetWithCompletion:completionHandler];
+    [self readAttributeTimeSinceResetWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTimeSinceResetWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42873,7 +46254,10 @@
     }
     [self subscribeAttributeTimeSinceResetWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeTimeSinceResetWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -42884,13 +46268,19 @@
     [self readAttributeTimeSinceResetWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42909,7 +46299,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -42920,13 +46313,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42945,7 +46344,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -42956,13 +46358,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -42979,7 +46387,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -42990,13 +46401,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -43013,7 +46430,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -43023,13 +46443,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -43047,7 +46473,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -43058,7 +46487,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -44529,7 +47961,10 @@
 - (void)readAttributeVendorNameWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVendorNameWithCompletion:completionHandler];
+    [self readAttributeVendorNameWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44546,7 +47981,10 @@
     }
     [self subscribeAttributeVendorNameWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeVendorNameWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -44556,13 +47994,19 @@
     [self readAttributeVendorNameWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeVendorIDWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVendorIDWithCompletion:completionHandler];
+    [self readAttributeVendorIDWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44579,7 +48023,10 @@
     }
     [self subscribeAttributeVendorIDWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeVendorIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -44589,13 +48036,19 @@
     [self readAttributeVendorIDWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeProductNameWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductNameWithCompletion:completionHandler];
+    [self readAttributeProductNameWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductNameWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44612,7 +48065,10 @@
     }
     [self subscribeAttributeProductNameWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSString *>(value), error);
+                                    }];
 }
 + (void)readAttributeProductNameWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -44623,13 +48079,19 @@
     [self readAttributeProductNameWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeNodeLabelWithCompletionHandler:(void (^)(
                                                         NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNodeLabelWithCompletion:completionHandler];
+    [self readAttributeNodeLabelWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeNodeLabelWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -44656,7 +48118,10 @@
     }
     [self subscribeAttributeNodeLabelWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSString *>(value), error);
+                                  }];
 }
 + (void)readAttributeNodeLabelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -44666,13 +48131,19 @@
     [self readAttributeNodeLabelWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSString *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeHardwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeHardwareVersionWithCompletion:completionHandler];
+    [self readAttributeHardwareVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeHardwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44690,7 +48161,10 @@
     }
     [self subscribeAttributeHardwareVersionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeHardwareVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -44701,13 +48175,19 @@
     [self readAttributeHardwareVersionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeHardwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeHardwareVersionStringWithCompletion:completionHandler];
+    [self readAttributeHardwareVersionStringWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeHardwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44726,7 +48206,10 @@
     }
     [self subscribeAttributeHardwareVersionStringWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSString *>(value), error);
+                                              }];
 }
 + (void)readAttributeHardwareVersionStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -44737,13 +48220,19 @@
     [self readAttributeHardwareVersionStringWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSString *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeSoftwareVersionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSoftwareVersionWithCompletion:completionHandler];
+    [self readAttributeSoftwareVersionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSoftwareVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44761,7 +48250,10 @@
     }
     [self subscribeAttributeSoftwareVersionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeSoftwareVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -44772,13 +48264,19 @@
     [self readAttributeSoftwareVersionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeSoftwareVersionStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSoftwareVersionStringWithCompletion:completionHandler];
+    [self readAttributeSoftwareVersionStringWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSoftwareVersionStringWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44797,7 +48295,10 @@
     }
     [self subscribeAttributeSoftwareVersionStringWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSString *>(value), error);
+                                              }];
 }
 + (void)readAttributeSoftwareVersionStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -44808,13 +48309,19 @@
     [self readAttributeSoftwareVersionStringWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSString *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeManufacturingDateWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeManufacturingDateWithCompletion:completionHandler];
+    [self readAttributeManufacturingDateWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeManufacturingDateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44833,7 +48340,10 @@
     }
     [self subscribeAttributeManufacturingDateWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 + (void)readAttributeManufacturingDateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -44844,13 +48354,19 @@
     [self readAttributeManufacturingDateWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSString *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePartNumberWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePartNumberWithCompletion:completionHandler];
+    [self readAttributePartNumberWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributePartNumberWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44867,7 +48383,10 @@
     }
     [self subscribeAttributePartNumberWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributePartNumberWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -44877,13 +48396,19 @@
     [self readAttributePartNumberWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeProductURLWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductURLWithCompletion:completionHandler];
+    [self readAttributeProductURLWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductURLWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44900,7 +48425,10 @@
     }
     [self subscribeAttributeProductURLWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeProductURLWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -44910,13 +48438,19 @@
     [self readAttributeProductURLWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeProductLabelWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductLabelWithCompletion:completionHandler];
+    [self readAttributeProductLabelWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductLabelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44933,7 +48467,10 @@
     }
     [self subscribeAttributeProductLabelWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSString *>(value), error);
+                                     }];
 }
 + (void)readAttributeProductLabelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -44944,13 +48481,19 @@
     [self readAttributeProductLabelWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeSerialNumberWithCompletionHandler:(void (^)(
                                                            NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSerialNumberWithCompletion:completionHandler];
+    [self readAttributeSerialNumberWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSerialNumberWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -44967,7 +48510,10 @@
     }
     [self subscribeAttributeSerialNumberWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSString *>(value), error);
+                                     }];
 }
 + (void)readAttributeSerialNumberWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -44978,13 +48524,19 @@
     [self readAttributeSerialNumberWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeReachableWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReachableWithCompletion:completionHandler];
+    [self readAttributeReachableWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeReachableWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45001,7 +48553,10 @@
     }
     [self subscribeAttributeReachableWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeReachableWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -45011,13 +48566,19 @@
     [self readAttributeReachableWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeUniqueIDWithCompletionHandler:(void (^)(
                                                        NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUniqueIDWithCompletion:completionHandler];
+    [self readAttributeUniqueIDWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUniqueIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45034,7 +48595,10 @@
     }
     [self subscribeAttributeUniqueIDWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSString *>(value), error);
+                                 }];
 }
 + (void)readAttributeUniqueIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -45044,13 +48608,19 @@
     [self readAttributeUniqueIDWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSString *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45069,7 +48639,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -45080,13 +48653,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45105,7 +48684,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -45116,13 +48698,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45139,7 +48727,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -45150,13 +48741,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45173,7 +48770,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -45183,13 +48783,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45207,7 +48813,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -45218,7 +48827,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -45810,7 +49422,10 @@
 - (void)readAttributeNumberOfPositionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfPositionsWithCompletion:completionHandler];
+    [self readAttributeNumberOfPositionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfPositionsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45829,7 +49444,10 @@
     }
     [self subscribeAttributeNumberOfPositionsWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeNumberOfPositionsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -45840,13 +49458,19 @@
     [self readAttributeNumberOfPositionsWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeCurrentPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentPositionWithCompletion:completionHandler];
+    [self readAttributeCurrentPositionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentPositionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45864,7 +49488,10 @@
     }
     [self subscribeAttributeCurrentPositionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeCurrentPositionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -45875,13 +49502,19 @@
     [self readAttributeCurrentPositionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeMultiPressMaxWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMultiPressMaxWithCompletion:completionHandler];
+    [self readAttributeMultiPressMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMultiPressMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45899,7 +49532,10 @@
     }
     [self subscribeAttributeMultiPressMaxWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMultiPressMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -45910,13 +49546,19 @@
     [self readAttributeMultiPressMaxWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45935,7 +49577,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -45946,13 +49591,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -45971,7 +49622,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -45982,13 +49636,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -46005,7 +49665,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -46016,13 +49679,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -46039,7 +49708,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -46049,13 +49721,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -46073,7 +49751,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -46084,7 +49765,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -46809,13 +50493,16 @@
 }
 - (void)revokeCommissioningWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self revokeCommissioningWithParams:nil completion:completionHandler];
+    [self revokeCommissioningWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeWindowStatusWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWindowStatusWithCompletion:completionHandler];
+    [self readAttributeWindowStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWindowStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -46832,7 +50519,10 @@
     }
     [self subscribeAttributeWindowStatusWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeWindowStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -46843,13 +50533,19 @@
     [self readAttributeWindowStatusWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeAdminFabricIndexWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAdminFabricIndexWithCompletion:completionHandler];
+    [self readAttributeAdminFabricIndexWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeAdminFabricIndexWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -46867,7 +50563,10 @@
     }
     [self subscribeAttributeAdminFabricIndexWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeAdminFabricIndexWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -46878,13 +50577,19 @@
     [self readAttributeAdminFabricIndexWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeAdminVendorIdWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAdminVendorIdWithCompletion:completionHandler];
+    [self readAttributeAdminVendorIdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAdminVendorIdWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -46902,7 +50607,10 @@
     }
     [self subscribeAttributeAdminVendorIdWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeAdminVendorIdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -46913,13 +50621,19 @@
     [self readAttributeAdminVendorIdWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -46938,7 +50652,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -46949,13 +50666,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -46974,7 +50697,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -46985,13 +50711,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -47008,7 +50740,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -47019,13 +50754,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -47042,7 +50783,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -47052,13 +50796,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -47076,7 +50826,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -47087,7 +50840,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -48146,43 +51902,77 @@
                    completionHandler:(void (^)(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler
 {
-    [self attestationRequestWithParams:params completion:completionHandler];
+    [self attestationRequestWithParams:params
+                            completion:^(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data,
+                                NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(
+                                    static_cast<MTROperationalCredentialsClusterAttestationResponseParams *>(data), error);
+                            }];
 }
 - (void)certificateChainRequestWithParams:(MTROperationalCredentialsClusterCertificateChainRequestParams *)params
                         completionHandler:(void (^)(MTROperationalCredentialsClusterCertificateChainResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
 {
-    [self certificateChainRequestWithParams:params completion:completionHandler];
+    [self
+        certificateChainRequestWithParams:params
+                               completion:^(MTROperationalCredentialsClusterCertificateChainResponseParams * _Nullable data,
+                                   NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   completionHandler(
+                                       static_cast<MTROperationalCredentialsClusterCertificateChainResponseParams *>(data), error);
+                               }];
 }
 - (void)CSRRequestWithParams:(MTROperationalCredentialsClusterCSRRequestParams *)params
            completionHandler:(void (^)(MTROperationalCredentialsClusterCSRResponseParams * _Nullable data,
                                  NSError * _Nullable error))completionHandler
 {
-    [self CSRRequestWithParams:params completion:completionHandler];
+    [self CSRRequestWithParams:params
+                    completion:^(MTROperationalCredentialsClusterCSRResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTROperationalCredentialsClusterCSRResponseParams *>(data), error);
+                    }];
 }
 - (void)addNOCWithParams:(MTROperationalCredentialsClusterAddNOCParams *)params
        completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
                              NSError * _Nullable error))completionHandler
 {
-    [self addNOCWithParams:params completion:completionHandler];
+    [self addNOCWithParams:params
+                completion:^(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                    // Cast is safe because subclass does not add any selectors.
+                    completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                }];
 }
 - (void)updateNOCWithParams:(MTROperationalCredentialsClusterUpdateNOCParams *)params
           completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
                                 NSError * _Nullable error))completionHandler
 {
-    [self updateNOCWithParams:params completion:completionHandler];
+    [self updateNOCWithParams:params
+                   completion:^(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                   }];
 }
 - (void)updateFabricLabelWithParams:(MTROperationalCredentialsClusterUpdateFabricLabelParams *)params
                   completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler
 {
-    [self updateFabricLabelWithParams:params completion:completionHandler];
+    [self updateFabricLabelWithParams:params
+                           completion:^(
+                               MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                               // Cast is safe because subclass does not add any selectors.
+                               completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                           }];
 }
 - (void)removeFabricWithParams:(MTROperationalCredentialsClusterRemoveFabricParams *)params
              completionHandler:(void (^)(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
-    [self removeFabricWithParams:params completion:completionHandler];
+    [self removeFabricWithParams:params
+                      completion:^(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                      }];
 }
 - (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAddTrustedRootCertificateParams *)params
                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -48193,7 +51983,11 @@
 - (void)readAttributeNOCsWithParams:(MTRReadParams * _Nullable)params
                   completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNOCsWithParams:params completion:completionHandler];
+    [self readAttributeNOCsWithParams:params
+                           completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                               // Cast is safe because subclass does not add any selectors.
+                               completionHandler(static_cast<NSArray *>(value), error);
+                           }];
 }
 - (void)subscribeAttributeNOCsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48210,20 +52004,33 @@
     }
     [self subscribeAttributeNOCsWithParams:subscribeParams
                    subscriptionEstablished:subscriptionEstablishedHandler
-                             reportHandler:reportHandler];
+                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 reportHandler(static_cast<NSArray *>(value), error);
+                             }];
 }
 + (void)readAttributeNOCsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                    endpoint:(NSNumber *)endpoint
                                       queue:(dispatch_queue_t)queue
                           completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNOCsWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeNOCsWithAttributeCache:attributeCacheContainer
+                                     endpoint:endpoint
+                                        queue:queue
+                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(static_cast<NSArray *>(value), error);
+                                   }];
 }
 
 - (void)readAttributeFabricsWithParams:(MTRReadParams * _Nullable)params
                      completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFabricsWithParams:params completion:completionHandler];
+    [self readAttributeFabricsWithParams:params
+                              completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  completionHandler(static_cast<NSArray *>(value), error);
+                              }];
 }
 - (void)subscribeAttributeFabricsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48240,7 +52047,10 @@
     }
     [self subscribeAttributeFabricsWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSArray *>(value), error);
+                                }];
 }
 + (void)readAttributeFabricsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -48250,13 +52060,19 @@
     [self readAttributeFabricsWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeSupportedFabricsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSupportedFabricsWithCompletion:completionHandler];
+    [self readAttributeSupportedFabricsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeSupportedFabricsWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -48274,7 +52090,10 @@
     }
     [self subscribeAttributeSupportedFabricsWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeSupportedFabricsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -48285,13 +52104,19 @@
     [self readAttributeSupportedFabricsWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeCommissionedFabricsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCommissionedFabricsWithCompletion:completionHandler];
+    [self readAttributeCommissionedFabricsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCommissionedFabricsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48310,7 +52135,10 @@
     }
     [self subscribeAttributeCommissionedFabricsWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeCommissionedFabricsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -48321,13 +52149,19 @@
     [self readAttributeCommissionedFabricsWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeTrustedRootCertificatesWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTrustedRootCertificatesWithCompletion:completionHandler];
+    [self readAttributeTrustedRootCertificatesWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTrustedRootCertificatesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48346,7 +52180,10 @@
     }
     [self subscribeAttributeTrustedRootCertificatesWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSArray *>(value), error);
+                                                }];
 }
 + (void)readAttributeTrustedRootCertificatesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -48357,13 +52194,19 @@
     [self readAttributeTrustedRootCertificatesWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSArray *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeCurrentFabricIndexWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentFabricIndexWithCompletion:completionHandler];
+    [self readAttributeCurrentFabricIndexWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentFabricIndexWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48382,7 +52225,10 @@
     }
     [self subscribeAttributeCurrentFabricIndexWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeCurrentFabricIndexWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -48393,13 +52239,19 @@
     [self readAttributeCurrentFabricIndexWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48418,7 +52270,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -48429,13 +52284,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48454,7 +52315,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -48465,13 +52329,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48488,7 +52358,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -48499,13 +52372,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48522,7 +52401,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -48532,13 +52414,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -48556,7 +52444,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -48567,7 +52458,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -49486,7 +53380,11 @@
            completionHandler:(void (^)(MTRGroupKeyManagementClusterKeySetReadResponseParams * _Nullable data,
                                  NSError * _Nullable error))completionHandler
 {
-    [self keySetReadWithParams:params completion:completionHandler];
+    [self keySetReadWithParams:params
+                    completion:^(MTRGroupKeyManagementClusterKeySetReadResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTRGroupKeyManagementClusterKeySetReadResponseParams *>(data), error);
+                    }];
 }
 - (void)keySetRemoveWithParams:(MTRGroupKeyManagementClusterKeySetRemoveParams *)params
              completionHandler:(MTRStatusCompletion)completionHandler
@@ -49497,13 +53395,23 @@
                      completionHandler:(void (^)(MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
 {
-    [self keySetReadAllIndicesWithParams:params completion:completionHandler];
+    [self keySetReadAllIndicesWithParams:params
+                              completion:^(MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams * _Nullable data,
+                                  NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  completionHandler(
+                                      static_cast<MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams *>(data), error);
+                              }];
 }
 
 - (void)readAttributeGroupKeyMapWithParams:(MTRReadParams * _Nullable)params
                          completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGroupKeyMapWithParams:params completion:completionHandler];
+    [self readAttributeGroupKeyMapWithParams:params
+                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      completionHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 - (void)writeAttributeGroupKeyMapWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -49530,7 +53438,10 @@
     }
     [self subscribeAttributeGroupKeyMapWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSArray *>(value), error);
+                                    }];
 }
 + (void)readAttributeGroupKeyMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -49540,13 +53451,20 @@
     [self readAttributeGroupKeyMapWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeGroupTableWithParams:(MTRReadParams * _Nullable)params
                         completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGroupTableWithParams:params completion:completionHandler];
+    [self readAttributeGroupTableWithParams:params
+                                 completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     completionHandler(static_cast<NSArray *>(value), error);
+                                 }];
 }
 - (void)subscribeAttributeGroupTableWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49563,7 +53481,10 @@
     }
     [self subscribeAttributeGroupTableWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSArray *>(value), error);
+                                   }];
 }
 + (void)readAttributeGroupTableWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -49573,13 +53494,19 @@
     [self readAttributeGroupTableWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeMaxGroupsPerFabricWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxGroupsPerFabricWithCompletion:completionHandler];
+    [self readAttributeMaxGroupsPerFabricWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxGroupsPerFabricWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49598,7 +53525,10 @@
     }
     [self subscribeAttributeMaxGroupsPerFabricWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeMaxGroupsPerFabricWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -49609,13 +53539,19 @@
     [self readAttributeMaxGroupsPerFabricWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeMaxGroupKeysPerFabricWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxGroupKeysPerFabricWithCompletion:completionHandler];
+    [self readAttributeMaxGroupKeysPerFabricWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxGroupKeysPerFabricWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49634,7 +53570,10 @@
     }
     [self subscribeAttributeMaxGroupKeysPerFabricWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeMaxGroupKeysPerFabricWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -49645,13 +53584,19 @@
     [self readAttributeMaxGroupKeysPerFabricWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49670,7 +53615,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -49681,13 +53629,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49706,7 +53660,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -49717,13 +53674,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49740,7 +53703,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -49751,13 +53717,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49774,7 +53746,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -49784,13 +53759,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -49808,7 +53789,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -49819,7 +53803,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -50279,7 +54266,10 @@
 - (void)readAttributeLabelListWithCompletionHandler:(void (^)(
                                                         NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLabelListWithCompletion:completionHandler];
+    [self readAttributeLabelListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLabelListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -50296,7 +54286,10 @@
     }
     [self subscribeAttributeLabelListWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 + (void)readAttributeLabelListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -50306,13 +54299,19 @@
     [self readAttributeLabelListWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -50331,7 +54330,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -50342,13 +54344,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -50367,7 +54375,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -50378,13 +54389,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -50401,7 +54418,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -50412,13 +54432,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -50435,7 +54461,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -50445,13 +54474,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -50469,7 +54504,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -50480,7 +54518,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -50998,7 +55039,10 @@
 - (void)readAttributeLabelListWithCompletionHandler:(void (^)(
                                                         NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLabelListWithCompletion:completionHandler];
+    [self readAttributeLabelListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)writeAttributeLabelListWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -51025,7 +55069,10 @@
     }
     [self subscribeAttributeLabelListWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 + (void)readAttributeLabelListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -51035,13 +55082,19 @@
     [self readAttributeLabelListWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51060,7 +55113,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -51071,13 +55127,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51096,7 +55158,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -51107,13 +55172,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51130,7 +55201,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -51141,13 +55215,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51164,7 +55244,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -51174,13 +55257,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51198,7 +55287,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -51209,7 +55301,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -51668,7 +55763,10 @@
 - (void)readAttributeStateValueWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStateValueWithCompletion:completionHandler];
+    [self readAttributeStateValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStateValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51685,7 +55783,10 @@
     }
     [self subscribeAttributeStateValueWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeStateValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -51695,13 +55796,19 @@
     [self readAttributeStateValueWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51720,7 +55827,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -51731,13 +55841,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51756,7 +55872,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -51767,13 +55886,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51790,7 +55915,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -51801,13 +55929,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51824,7 +55958,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -51834,13 +55971,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -51858,7 +56001,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -51869,7 +56015,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -52791,7 +56940,10 @@
 - (void)readAttributeDescriptionWithCompletionHandler:(void (^)(
                                                           NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDescriptionWithCompletion:completionHandler];
+    [self readAttributeDescriptionWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDescriptionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -52808,7 +56960,10 @@
     }
     [self subscribeAttributeDescriptionWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSString *>(value), error);
+                                    }];
 }
 + (void)readAttributeDescriptionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -52819,13 +56974,19 @@
     [self readAttributeDescriptionWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSString *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeStandardNamespaceWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStandardNamespaceWithCompletion:completionHandler];
+    [self readAttributeStandardNamespaceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStandardNamespaceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -52844,7 +57005,10 @@
     }
     [self subscribeAttributeStandardNamespaceWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeStandardNamespaceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -52855,13 +57019,19 @@
     [self readAttributeStandardNamespaceWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeSupportedModesWithCompletionHandler:(void (^)(
                                                              NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSupportedModesWithCompletion:completionHandler];
+    [self readAttributeSupportedModesWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSupportedModesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -52879,7 +57049,10 @@
     }
     [self subscribeAttributeSupportedModesWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSArray *>(value), error);
+                                       }];
 }
 + (void)readAttributeSupportedModesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -52890,13 +57063,19 @@
     [self readAttributeSupportedModesWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeCurrentModeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentModeWithCompletion:completionHandler];
+    [self readAttributeCurrentModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentModeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -52913,7 +57092,10 @@
     }
     [self subscribeAttributeCurrentModeWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeCurrentModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -52924,13 +57106,19 @@
     [self readAttributeCurrentModeWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeStartUpModeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStartUpModeWithCompletion:completionHandler];
+    [self readAttributeStartUpModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeStartUpModeWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -52957,7 +57145,10 @@
     }
     [self subscribeAttributeStartUpModeWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeStartUpModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -52968,12 +57159,18 @@
     [self readAttributeStartUpModeWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeOnModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnModeWithCompletion:completionHandler];
+    [self readAttributeOnModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOnModeWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -53000,20 +57197,32 @@
     }
     [self subscribeAttributeOnModeWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeOnModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOnModeWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeOnModeWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -53032,7 +57241,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -53043,13 +57255,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -53068,7 +57286,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -53079,13 +57300,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -53102,7 +57329,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -53113,13 +57343,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -53136,7 +57372,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -53146,13 +57385,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -53170,7 +57415,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -53181,7 +57429,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -57429,7 +61680,12 @@
                    completionHandler:(void (^)(MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler
 {
-    [self getWeekDayScheduleWithParams:params completion:completionHandler];
+    [self getWeekDayScheduleWithParams:params
+                            completion:^(
+                                MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRDoorLockClusterGetWeekDayScheduleResponseParams *>(data), error);
+                            }];
 }
 - (void)clearWeekDayScheduleWithParams:(MTRDoorLockClusterClearWeekDayScheduleParams *)params
                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -57445,7 +61701,12 @@
                    completionHandler:(void (^)(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler
 {
-    [self getYearDayScheduleWithParams:params completion:completionHandler];
+    [self getYearDayScheduleWithParams:params
+                            completion:^(
+                                MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRDoorLockClusterGetYearDayScheduleResponseParams *>(data), error);
+                            }];
 }
 - (void)clearYearDayScheduleWithParams:(MTRDoorLockClusterClearYearDayScheduleParams *)params
                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -57461,7 +61722,12 @@
                    completionHandler:(void (^)(MTRDoorLockClusterGetHolidayScheduleResponseParams * _Nullable data,
                                          NSError * _Nullable error))completionHandler
 {
-    [self getHolidayScheduleWithParams:params completion:completionHandler];
+    [self getHolidayScheduleWithParams:params
+                            completion:^(
+                                MTRDoorLockClusterGetHolidayScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRDoorLockClusterGetHolidayScheduleResponseParams *>(data), error);
+                            }];
 }
 - (void)clearHolidayScheduleWithParams:(MTRDoorLockClusterClearHolidayScheduleParams *)params
                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -57476,7 +61742,11 @@
         completionHandler:
             (void (^)(MTRDoorLockClusterGetUserResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self getUserWithParams:params completion:completionHandler];
+    [self getUserWithParams:params
+                 completion:^(MTRDoorLockClusterGetUserResponseParams * _Nullable data, NSError * _Nullable error) {
+                     // Cast is safe because subclass does not add any selectors.
+                     completionHandler(static_cast<MTRDoorLockClusterGetUserResponseParams *>(data), error);
+                 }];
 }
 - (void)clearUserWithParams:(MTRDoorLockClusterClearUserParams *)params completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -57486,13 +61756,22 @@
               completionHandler:(void (^)(MTRDoorLockClusterSetCredentialResponseParams * _Nullable data,
                                     NSError * _Nullable error))completionHandler
 {
-    [self setCredentialWithParams:params completion:completionHandler];
+    [self setCredentialWithParams:params
+                       completion:^(MTRDoorLockClusterSetCredentialResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRDoorLockClusterSetCredentialResponseParams *>(data), error);
+                       }];
 }
 - (void)getCredentialStatusWithParams:(MTRDoorLockClusterGetCredentialStatusParams *)params
                     completionHandler:(void (^)(MTRDoorLockClusterGetCredentialStatusResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler
 {
-    [self getCredentialStatusWithParams:params completion:completionHandler];
+    [self getCredentialStatusWithParams:params
+                             completion:^(
+                                 MTRDoorLockClusterGetCredentialStatusResponseParams * _Nullable data, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(static_cast<MTRDoorLockClusterGetCredentialStatusResponseParams *>(data), error);
+                             }];
 }
 - (void)clearCredentialWithParams:(MTRDoorLockClusterClearCredentialParams *)params
                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -57503,7 +61782,10 @@
 - (void)readAttributeLockStateWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLockStateWithCompletion:completionHandler];
+    [self readAttributeLockStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLockStateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57520,7 +61802,10 @@
     }
     [self subscribeAttributeLockStateWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeLockStateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -57530,13 +61815,19 @@
     [self readAttributeLockStateWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeLockTypeWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLockTypeWithCompletion:completionHandler];
+    [self readAttributeLockTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLockTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57553,7 +61844,10 @@
     }
     [self subscribeAttributeLockTypeWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeLockTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -57563,13 +61857,19 @@
     [self readAttributeLockTypeWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeActuatorEnabledWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActuatorEnabledWithCompletion:completionHandler];
+    [self readAttributeActuatorEnabledWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActuatorEnabledWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57587,7 +61887,10 @@
     }
     [self subscribeAttributeActuatorEnabledWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeActuatorEnabledWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -57598,13 +61901,19 @@
     [self readAttributeActuatorEnabledWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeDoorStateWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDoorStateWithCompletion:completionHandler];
+    [self readAttributeDoorStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDoorStateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57621,7 +61930,10 @@
     }
     [self subscribeAttributeDoorStateWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeDoorStateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -57631,13 +61943,19 @@
     [self readAttributeDoorStateWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeDoorOpenEventsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDoorOpenEventsWithCompletion:completionHandler];
+    [self readAttributeDoorOpenEventsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeDoorOpenEventsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -57665,7 +61983,10 @@
     }
     [self subscribeAttributeDoorOpenEventsWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeDoorOpenEventsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -57676,13 +61997,19 @@
     [self readAttributeDoorOpenEventsWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeDoorClosedEventsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDoorClosedEventsWithCompletion:completionHandler];
+    [self readAttributeDoorClosedEventsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeDoorClosedEventsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -57710,7 +62037,10 @@
     }
     [self subscribeAttributeDoorClosedEventsWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeDoorClosedEventsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -57721,13 +62051,19 @@
     [self readAttributeDoorClosedEventsWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeOpenPeriodWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOpenPeriodWithCompletion:completionHandler];
+    [self readAttributeOpenPeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOpenPeriodWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -57754,7 +62090,10 @@
     }
     [self subscribeAttributeOpenPeriodWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeOpenPeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -57764,13 +62103,19 @@
     [self readAttributeOpenPeriodWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeNumberOfTotalUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfTotalUsersSupportedWithCompletion:completionHandler];
+    [self readAttributeNumberOfTotalUsersSupportedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfTotalUsersSupportedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57789,7 +62134,10 @@
     }
     [self subscribeAttributeNumberOfTotalUsersSupportedWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeNumberOfTotalUsersSupportedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -57800,13 +62148,19 @@
     [self readAttributeNumberOfTotalUsersSupportedWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeNumberOfPINUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfPINUsersSupportedWithCompletion:completionHandler];
+    [self readAttributeNumberOfPINUsersSupportedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfPINUsersSupportedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57825,7 +62179,10 @@
     }
     [self subscribeAttributeNumberOfPINUsersSupportedWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeNumberOfPINUsersSupportedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -57836,13 +62193,19 @@
     [self readAttributeNumberOfPINUsersSupportedWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeNumberOfRFIDUsersSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfRFIDUsersSupportedWithCompletion:completionHandler];
+    [self readAttributeNumberOfRFIDUsersSupportedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfRFIDUsersSupportedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57861,7 +62224,10 @@
     }
     [self subscribeAttributeNumberOfRFIDUsersSupportedWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeNumberOfRFIDUsersSupportedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -57872,13 +62238,20 @@
     [self readAttributeNumberOfRFIDUsersSupportedWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithCompletion:completionHandler];
+    [self readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfWeekDaySchedulesSupportedPerUserWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57897,7 +62270,11 @@
     }
     [self subscribeAttributeNumberOfWeekDaySchedulesSupportedPerUserWithParams:subscribeParams
                                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                                 reportHandler:reportHandler];
+                                                                 reportHandler:^(
+                                                                     NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                     // Cast is safe because subclass does not add any selectors.
+                                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                                 }];
 }
 + (void)readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithAttributeCache:
             (MTRAttributeCacheContainer *)attributeCacheContainer
@@ -57909,13 +62286,22 @@
     [self readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithAttributeCache:attributeCacheContainer
                                                                          endpoint:endpoint
                                                                             queue:queue
-                                                                       completion:completionHandler];
+                                                                       completion:^(
+                                                                           NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                           // Cast is safe because subclass does not add any
+                                                                           // selectors.
+                                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                                       }];
 }
 
 - (void)readAttributeNumberOfYearDaySchedulesSupportedPerUserWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfYearDaySchedulesSupportedPerUserWithCompletion:completionHandler];
+    [self readAttributeNumberOfYearDaySchedulesSupportedPerUserWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfYearDaySchedulesSupportedPerUserWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57934,7 +62320,11 @@
     }
     [self subscribeAttributeNumberOfYearDaySchedulesSupportedPerUserWithParams:subscribeParams
                                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                                 reportHandler:reportHandler];
+                                                                 reportHandler:^(
+                                                                     NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                     // Cast is safe because subclass does not add any selectors.
+                                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                                 }];
 }
 + (void)readAttributeNumberOfYearDaySchedulesSupportedPerUserWithAttributeCache:
             (MTRAttributeCacheContainer *)attributeCacheContainer
@@ -57946,13 +62336,21 @@
     [self readAttributeNumberOfYearDaySchedulesSupportedPerUserWithAttributeCache:attributeCacheContainer
                                                                          endpoint:endpoint
                                                                             queue:queue
-                                                                       completion:completionHandler];
+                                                                       completion:^(
+                                                                           NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                           // Cast is safe because subclass does not add any
+                                                                           // selectors.
+                                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                                       }];
 }
 
 - (void)readAttributeNumberOfHolidaySchedulesSupportedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfHolidaySchedulesSupportedWithCompletion:completionHandler];
+    [self readAttributeNumberOfHolidaySchedulesSupportedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfHolidaySchedulesSupportedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -57971,7 +62369,10 @@
     }
     [self subscribeAttributeNumberOfHolidaySchedulesSupportedWithParams:subscribeParams
                                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                                          reportHandler:reportHandler];
+                                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 + (void)readAttributeNumberOfHolidaySchedulesSupportedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                 endpoint:(NSNumber *)endpoint
@@ -57979,16 +62380,23 @@
                                                        completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfHolidaySchedulesSupportedWithAttributeCache:attributeCacheContainer
-                                                                  endpoint:endpoint
-                                                                     queue:queue
-                                                                completion:completionHandler];
+    [self
+        readAttributeNumberOfHolidaySchedulesSupportedWithAttributeCache:attributeCacheContainer
+                                                                endpoint:endpoint
+                                                                   queue:queue
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeMaxPINCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxPINCodeLengthWithCompletion:completionHandler];
+    [self readAttributeMaxPINCodeLengthWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMaxPINCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -58006,7 +62414,10 @@
     }
     [self subscribeAttributeMaxPINCodeLengthWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMaxPINCodeLengthWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -58017,13 +62428,19 @@
     [self readAttributeMaxPINCodeLengthWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMinPINCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinPINCodeLengthWithCompletion:completionHandler];
+    [self readAttributeMinPINCodeLengthWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMinPINCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -58041,7 +62458,10 @@
     }
     [self subscribeAttributeMinPINCodeLengthWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMinPINCodeLengthWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -58052,13 +62472,19 @@
     [self readAttributeMinPINCodeLengthWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMaxRFIDCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxRFIDCodeLengthWithCompletion:completionHandler];
+    [self readAttributeMaxRFIDCodeLengthWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxRFIDCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -58077,7 +62503,10 @@
     }
     [self subscribeAttributeMaxRFIDCodeLengthWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeMaxRFIDCodeLengthWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -58088,13 +62517,19 @@
     [self readAttributeMaxRFIDCodeLengthWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeMinRFIDCodeLengthWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinRFIDCodeLengthWithCompletion:completionHandler];
+    [self readAttributeMinRFIDCodeLengthWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinRFIDCodeLengthWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -58113,7 +62548,10 @@
     }
     [self subscribeAttributeMinRFIDCodeLengthWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeMinRFIDCodeLengthWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -58124,13 +62562,19 @@
     [self readAttributeMinRFIDCodeLengthWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeCredentialRulesSupportWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCredentialRulesSupportWithCompletion:completionHandler];
+    [self readAttributeCredentialRulesSupportWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCredentialRulesSupportWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -58149,7 +62593,10 @@
     }
     [self subscribeAttributeCredentialRulesSupportWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeCredentialRulesSupportWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -58160,13 +62607,19 @@
     [self readAttributeCredentialRulesSupportWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeNumberOfCredentialsSupportedPerUserWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfCredentialsSupportedPerUserWithCompletion:completionHandler];
+    [self readAttributeNumberOfCredentialsSupportedPerUserWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfCredentialsSupportedPerUserWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -58185,7 +62638,10 @@
     }
     [self subscribeAttributeNumberOfCredentialsSupportedPerUserWithParams:subscribeParams
                                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                                            reportHandler:reportHandler];
+                                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 + (void)readAttributeNumberOfCredentialsSupportedPerUserWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                   endpoint:(NSNumber *)endpoint
@@ -58196,13 +62652,20 @@
     [self readAttributeNumberOfCredentialsSupportedPerUserWithAttributeCache:attributeCacheContainer
                                                                     endpoint:endpoint
                                                                        queue:queue
-                                                                  completion:completionHandler];
+                                                                  completion:^(
+                                                                      NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                      // Cast is safe because subclass does not add any selectors.
+                                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                                  }];
 }
 
 - (void)readAttributeLanguageWithCompletionHandler:(void (^)(
                                                        NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLanguageWithCompletion:completionHandler];
+    [self readAttributeLanguageWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeLanguageWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -58229,7 +62692,10 @@
     }
     [self subscribeAttributeLanguageWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSString *>(value), error);
+                                 }];
 }
 + (void)readAttributeLanguageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -58239,13 +62705,19 @@
     [self readAttributeLanguageWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSString *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeLEDSettingsWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLEDSettingsWithCompletion:completionHandler];
+    [self readAttributeLEDSettingsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLEDSettingsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -58272,7 +62744,10 @@
     }
     [self subscribeAttributeLEDSettingsWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeLEDSettingsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -58283,13 +62758,19 @@
     [self readAttributeLEDSettingsWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeAutoRelockTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAutoRelockTimeWithCompletion:completionHandler];
+    [self readAttributeAutoRelockTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeAutoRelockTimeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -58317,7 +62798,10 @@
     }
     [self subscribeAttributeAutoRelockTimeWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeAutoRelockTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -58328,13 +62812,19 @@
     [self readAttributeAutoRelockTimeWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeSoundVolumeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSoundVolumeWithCompletion:completionHandler];
+    [self readAttributeSoundVolumeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeSoundVolumeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -58361,7 +62851,10 @@
     }
     [self subscribeAttributeSoundVolumeWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeSoundVolumeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -58372,13 +62865,19 @@
     [self readAttributeSoundVolumeWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeOperatingModeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOperatingModeWithCompletion:completionHandler];
+    [self readAttributeOperatingModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOperatingModeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -58406,7 +62905,10 @@
     }
     [self subscribeAttributeOperatingModeWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeOperatingModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -58417,13 +62919,19 @@
     [self readAttributeOperatingModeWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeSupportedOperatingModesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSupportedOperatingModesWithCompletion:completionHandler];
+    [self readAttributeSupportedOperatingModesWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSupportedOperatingModesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -58442,7 +62950,10 @@
     }
     [self subscribeAttributeSupportedOperatingModesWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeSupportedOperatingModesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -58453,13 +62964,19 @@
     [self readAttributeSupportedOperatingModesWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeDefaultConfigurationRegisterWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDefaultConfigurationRegisterWithCompletion:completionHandler];
+    [self readAttributeDefaultConfigurationRegisterWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDefaultConfigurationRegisterWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -58478,7 +62995,10 @@
     }
     [self subscribeAttributeDefaultConfigurationRegisterWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeDefaultConfigurationRegisterWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -58489,13 +63009,19 @@
     [self readAttributeDefaultConfigurationRegisterWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeEnableLocalProgrammingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnableLocalProgrammingWithCompletion:completionHandler];
+    [self readAttributeEnableLocalProgrammingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEnableLocalProgrammingWithValue:(NSNumber * _Nonnull)value
                                     completionHandler:(MTRStatusCompletion)completionHandler
@@ -58525,7 +63051,10 @@
     }
     [self subscribeAttributeEnableLocalProgrammingWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeEnableLocalProgrammingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -58536,13 +63065,19 @@
     [self readAttributeEnableLocalProgrammingWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeEnableOneTouchLockingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnableOneTouchLockingWithCompletion:completionHandler];
+    [self readAttributeEnableOneTouchLockingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEnableOneTouchLockingWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -58572,7 +63107,10 @@
     }
     [self subscribeAttributeEnableOneTouchLockingWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeEnableOneTouchLockingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -58583,13 +63121,19 @@
     [self readAttributeEnableOneTouchLockingWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeEnableInsideStatusLEDWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnableInsideStatusLEDWithCompletion:completionHandler];
+    [self readAttributeEnableInsideStatusLEDWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEnableInsideStatusLEDWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -58619,7 +63163,10 @@
     }
     [self subscribeAttributeEnableInsideStatusLEDWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeEnableInsideStatusLEDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -58630,13 +63177,19 @@
     [self readAttributeEnableInsideStatusLEDWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeEnablePrivacyModeButtonWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnablePrivacyModeButtonWithCompletion:completionHandler];
+    [self readAttributeEnablePrivacyModeButtonWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEnablePrivacyModeButtonWithValue:(NSNumber * _Nonnull)value
                                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -58666,7 +63219,10 @@
     }
     [self subscribeAttributeEnablePrivacyModeButtonWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeEnablePrivacyModeButtonWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -58677,13 +63233,19 @@
     [self readAttributeEnablePrivacyModeButtonWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeLocalProgrammingFeaturesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLocalProgrammingFeaturesWithCompletion:completionHandler];
+    [self readAttributeLocalProgrammingFeaturesWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLocalProgrammingFeaturesWithValue:(NSNumber * _Nonnull)value
                                       completionHandler:(MTRStatusCompletion)completionHandler
@@ -58713,7 +63275,10 @@
     }
     [self subscribeAttributeLocalProgrammingFeaturesWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeLocalProgrammingFeaturesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -58724,13 +63289,19 @@
     [self readAttributeLocalProgrammingFeaturesWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeWrongCodeEntryLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWrongCodeEntryLimitWithCompletion:completionHandler];
+    [self readAttributeWrongCodeEntryLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeWrongCodeEntryLimitWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -58760,7 +63331,10 @@
     }
     [self subscribeAttributeWrongCodeEntryLimitWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeWrongCodeEntryLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -58771,13 +63345,19 @@
     [self readAttributeWrongCodeEntryLimitWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeUserCodeTemporaryDisableTimeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUserCodeTemporaryDisableTimeWithCompletion:completionHandler];
+    [self readAttributeUserCodeTemporaryDisableTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUserCodeTemporaryDisableTimeWithValue:(NSNumber * _Nonnull)value
                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -58807,7 +63387,10 @@
     }
     [self subscribeAttributeUserCodeTemporaryDisableTimeWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeUserCodeTemporaryDisableTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -58818,13 +63401,19 @@
     [self readAttributeUserCodeTemporaryDisableTimeWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeSendPINOverTheAirWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSendPINOverTheAirWithCompletion:completionHandler];
+    [self readAttributeSendPINOverTheAirWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeSendPINOverTheAirWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -58853,7 +63442,10 @@
     }
     [self subscribeAttributeSendPINOverTheAirWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeSendPINOverTheAirWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -58864,13 +63456,19 @@
     [self readAttributeSendPINOverTheAirWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeRequirePINforRemoteOperationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRequirePINforRemoteOperationWithCompletion:completionHandler];
+    [self readAttributeRequirePINforRemoteOperationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRequirePINforRemoteOperationWithValue:(NSNumber * _Nonnull)value
                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -58900,7 +63498,10 @@
     }
     [self subscribeAttributeRequirePINforRemoteOperationWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeRequirePINforRemoteOperationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -58911,13 +63512,19 @@
     [self readAttributeRequirePINforRemoteOperationWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeExpiringUserTimeoutWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeExpiringUserTimeoutWithCompletion:completionHandler];
+    [self readAttributeExpiringUserTimeoutWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeExpiringUserTimeoutWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -58947,7 +63554,10 @@
     }
     [self subscribeAttributeExpiringUserTimeoutWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeExpiringUserTimeoutWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -58958,13 +63568,19 @@
     [self readAttributeExpiringUserTimeoutWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -58983,7 +63599,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -58994,13 +63613,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -59019,7 +63644,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -59030,13 +63658,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -59053,7 +63687,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -59064,13 +63701,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -59087,7 +63730,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -59097,13 +63743,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -59121,7 +63773,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -59132,7 +63787,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -61349,7 +66007,7 @@
 }
 - (void)upOrOpenWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self upOrOpenWithParams:nil completion:completionHandler];
+    [self upOrOpenWithParams:nil completionHandler:completionHandler];
 }
 - (void)downOrCloseWithParams:(MTRWindowCoveringClusterDownOrCloseParams * _Nullable)params
             completionHandler:(MTRStatusCompletion)completionHandler
@@ -61358,7 +66016,7 @@
 }
 - (void)downOrCloseWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self downOrCloseWithParams:nil completion:completionHandler];
+    [self downOrCloseWithParams:nil completionHandler:completionHandler];
 }
 - (void)stopMotionWithParams:(MTRWindowCoveringClusterStopMotionParams * _Nullable)params
            completionHandler:(MTRStatusCompletion)completionHandler
@@ -61367,7 +66025,7 @@
 }
 - (void)stopMotionWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self stopMotionWithParams:nil completion:completionHandler];
+    [self stopMotionWithParams:nil completionHandler:completionHandler];
 }
 - (void)goToLiftValueWithParams:(MTRWindowCoveringClusterGoToLiftValueParams *)params
               completionHandler:(MTRStatusCompletion)completionHandler
@@ -61392,7 +66050,10 @@
 
 - (void)readAttributeTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTypeWithCompletion:completionHandler];
+    [self readAttributeTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61409,20 +66070,32 @@
     }
     [self subscribeAttributeTypeWithParams:subscribeParams
                    subscriptionEstablished:subscriptionEstablishedHandler
-                             reportHandler:reportHandler];
+                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 reportHandler(static_cast<NSNumber *>(value), error);
+                             }];
 }
 + (void)readAttributeTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                    endpoint:(NSNumber *)endpoint
                                       queue:(dispatch_queue_t)queue
                           completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTypeWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeTypeWithAttributeCache:attributeCacheContainer
+                                     endpoint:endpoint
+                                        queue:queue
+                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 
 - (void)readAttributePhysicalClosedLimitLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhysicalClosedLimitLiftWithCompletion:completionHandler];
+    [self readAttributePhysicalClosedLimitLiftWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePhysicalClosedLimitLiftWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61441,7 +66114,10 @@
     }
     [self subscribeAttributePhysicalClosedLimitLiftWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributePhysicalClosedLimitLiftWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -61452,13 +66128,19 @@
     [self readAttributePhysicalClosedLimitLiftWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributePhysicalClosedLimitTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhysicalClosedLimitTiltWithCompletion:completionHandler];
+    [self readAttributePhysicalClosedLimitTiltWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePhysicalClosedLimitTiltWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61477,7 +66159,10 @@
     }
     [self subscribeAttributePhysicalClosedLimitTiltWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributePhysicalClosedLimitTiltWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -61488,13 +66173,19 @@
     [self readAttributePhysicalClosedLimitTiltWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeCurrentPositionLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentPositionLiftWithCompletion:completionHandler];
+    [self readAttributeCurrentPositionLiftWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentPositionLiftWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61513,7 +66204,10 @@
     }
     [self subscribeAttributeCurrentPositionLiftWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeCurrentPositionLiftWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -61524,13 +66218,19 @@
     [self readAttributeCurrentPositionLiftWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeCurrentPositionTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentPositionTiltWithCompletion:completionHandler];
+    [self readAttributeCurrentPositionTiltWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentPositionTiltWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61549,7 +66249,10 @@
     }
     [self subscribeAttributeCurrentPositionTiltWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeCurrentPositionTiltWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -61560,13 +66263,19 @@
     [self readAttributeCurrentPositionTiltWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeNumberOfActuationsLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfActuationsLiftWithCompletion:completionHandler];
+    [self readAttributeNumberOfActuationsLiftWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfActuationsLiftWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61585,7 +66294,10 @@
     }
     [self subscribeAttributeNumberOfActuationsLiftWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeNumberOfActuationsLiftWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -61596,13 +66308,19 @@
     [self readAttributeNumberOfActuationsLiftWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeNumberOfActuationsTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfActuationsTiltWithCompletion:completionHandler];
+    [self readAttributeNumberOfActuationsTiltWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfActuationsTiltWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61621,7 +66339,10 @@
     }
     [self subscribeAttributeNumberOfActuationsTiltWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeNumberOfActuationsTiltWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -61632,13 +66353,19 @@
     [self readAttributeNumberOfActuationsTiltWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeConfigStatusWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeConfigStatusWithCompletion:completionHandler];
+    [self readAttributeConfigStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeConfigStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61655,7 +66382,10 @@
     }
     [self subscribeAttributeConfigStatusWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeConfigStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -61666,13 +66396,19 @@
     [self readAttributeConfigStatusWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeCurrentPositionLiftPercentageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentPositionLiftPercentageWithCompletion:completionHandler];
+    [self readAttributeCurrentPositionLiftPercentageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentPositionLiftPercentageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61691,7 +66427,10 @@
     }
     [self subscribeAttributeCurrentPositionLiftPercentageWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeCurrentPositionLiftPercentageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -61702,13 +66441,19 @@
     [self readAttributeCurrentPositionLiftPercentageWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeCurrentPositionTiltPercentageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentPositionTiltPercentageWithCompletion:completionHandler];
+    [self readAttributeCurrentPositionTiltPercentageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentPositionTiltPercentageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61727,7 +66472,10 @@
     }
     [self subscribeAttributeCurrentPositionTiltPercentageWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeCurrentPositionTiltPercentageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -61738,13 +66486,19 @@
     [self readAttributeCurrentPositionTiltPercentageWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeOperationalStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOperationalStatusWithCompletion:completionHandler];
+    [self readAttributeOperationalStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOperationalStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61763,7 +66517,10 @@
     }
     [self subscribeAttributeOperationalStatusWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeOperationalStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -61774,13 +66531,19 @@
     [self readAttributeOperationalStatusWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeTargetPositionLiftPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTargetPositionLiftPercent100thsWithCompletion:completionHandler];
+    [self readAttributeTargetPositionLiftPercent100thsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTargetPositionLiftPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61799,7 +66562,10 @@
     }
     [self subscribeAttributeTargetPositionLiftPercent100thsWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeTargetPositionLiftPercent100thsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -61810,13 +66576,19 @@
     [self readAttributeTargetPositionLiftPercent100thsWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeTargetPositionTiltPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTargetPositionTiltPercent100thsWithCompletion:completionHandler];
+    [self readAttributeTargetPositionTiltPercent100thsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTargetPositionTiltPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61835,7 +66607,10 @@
     }
     [self subscribeAttributeTargetPositionTiltPercent100thsWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeTargetPositionTiltPercent100thsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -61846,13 +66621,19 @@
     [self readAttributeTargetPositionTiltPercent100thsWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeEndProductTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEndProductTypeWithCompletion:completionHandler];
+    [self readAttributeEndProductTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeEndProductTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61870,7 +66651,10 @@
     }
     [self subscribeAttributeEndProductTypeWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeEndProductTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -61881,13 +66665,19 @@
     [self readAttributeEndProductTypeWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeCurrentPositionLiftPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentPositionLiftPercent100thsWithCompletion:completionHandler];
+    [self readAttributeCurrentPositionLiftPercent100thsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentPositionLiftPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                               maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61906,7 +66696,10 @@
     }
     [self subscribeAttributeCurrentPositionLiftPercent100thsWithParams:subscribeParams
                                                subscriptionEstablished:subscriptionEstablishedHandler
-                                                         reportHandler:reportHandler];
+                                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 + (void)readAttributeCurrentPositionLiftPercent100thsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                endpoint:(NSNumber *)endpoint
@@ -61917,13 +66710,19 @@
     [self readAttributeCurrentPositionLiftPercent100thsWithAttributeCache:attributeCacheContainer
                                                                  endpoint:endpoint
                                                                     queue:queue
-                                                               completion:completionHandler];
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeCurrentPositionTiltPercent100thsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentPositionTiltPercent100thsWithCompletion:completionHandler];
+    [self readAttributeCurrentPositionTiltPercent100thsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentPositionTiltPercent100thsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                               maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61942,7 +66741,10 @@
     }
     [self subscribeAttributeCurrentPositionTiltPercent100thsWithParams:subscribeParams
                                                subscriptionEstablished:subscriptionEstablishedHandler
-                                                         reportHandler:reportHandler];
+                                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 + (void)readAttributeCurrentPositionTiltPercent100thsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                endpoint:(NSNumber *)endpoint
@@ -61953,13 +66755,19 @@
     [self readAttributeCurrentPositionTiltPercent100thsWithAttributeCache:attributeCacheContainer
                                                                  endpoint:endpoint
                                                                     queue:queue
-                                                               completion:completionHandler];
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeInstalledOpenLimitLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstalledOpenLimitLiftWithCompletion:completionHandler];
+    [self readAttributeInstalledOpenLimitLiftWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstalledOpenLimitLiftWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -61978,7 +66786,10 @@
     }
     [self subscribeAttributeInstalledOpenLimitLiftWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeInstalledOpenLimitLiftWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -61989,13 +66800,19 @@
     [self readAttributeInstalledOpenLimitLiftWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeInstalledClosedLimitLiftWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstalledClosedLimitLiftWithCompletion:completionHandler];
+    [self readAttributeInstalledClosedLimitLiftWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstalledClosedLimitLiftWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62014,7 +66831,10 @@
     }
     [self subscribeAttributeInstalledClosedLimitLiftWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeInstalledClosedLimitLiftWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -62025,13 +66845,19 @@
     [self readAttributeInstalledClosedLimitLiftWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeInstalledOpenLimitTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstalledOpenLimitTiltWithCompletion:completionHandler];
+    [self readAttributeInstalledOpenLimitTiltWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstalledOpenLimitTiltWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62050,7 +66876,10 @@
     }
     [self subscribeAttributeInstalledOpenLimitTiltWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeInstalledOpenLimitTiltWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -62061,13 +66890,19 @@
     [self readAttributeInstalledOpenLimitTiltWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeInstalledClosedLimitTiltWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstalledClosedLimitTiltWithCompletion:completionHandler];
+    [self readAttributeInstalledClosedLimitTiltWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstalledClosedLimitTiltWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62086,7 +66921,10 @@
     }
     [self subscribeAttributeInstalledClosedLimitTiltWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeInstalledClosedLimitTiltWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -62097,12 +66935,18 @@
     [self readAttributeInstalledClosedLimitTiltWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeModeWithCompletion:completionHandler];
+    [self readAttributeModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeModeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -62129,20 +66973,32 @@
     }
     [self subscribeAttributeModeWithParams:subscribeParams
                    subscriptionEstablished:subscriptionEstablishedHandler
-                             reportHandler:reportHandler];
+                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 reportHandler(static_cast<NSNumber *>(value), error);
+                             }];
 }
 + (void)readAttributeModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                    endpoint:(NSNumber *)endpoint
                                       queue:(dispatch_queue_t)queue
                           completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeModeWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeModeWithAttributeCache:attributeCacheContainer
+                                     endpoint:endpoint
+                                        queue:queue
+                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 
 - (void)readAttributeSafetyStatusWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSafetyStatusWithCompletion:completionHandler];
+    [self readAttributeSafetyStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSafetyStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62159,7 +67015,10 @@
     }
     [self subscribeAttributeSafetyStatusWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeSafetyStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -62170,13 +67029,19 @@
     [self readAttributeSafetyStatusWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62195,7 +67060,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -62206,13 +67074,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62231,7 +67105,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -62242,13 +67119,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62265,7 +67148,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -62276,13 +67162,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62299,7 +67191,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -62309,13 +67204,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -62333,7 +67234,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -62344,7 +67248,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -63734,13 +68641,16 @@
 }
 - (void)barrierControlStopWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self barrierControlStopWithParams:nil completion:completionHandler];
+    [self barrierControlStopWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeBarrierMovingStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierMovingStateWithCompletion:completionHandler];
+    [self readAttributeBarrierMovingStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBarrierMovingStateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -63759,7 +68669,10 @@
     }
     [self subscribeAttributeBarrierMovingStateWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeBarrierMovingStateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -63770,13 +68683,19 @@
     [self readAttributeBarrierMovingStateWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeBarrierSafetyStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierSafetyStatusWithCompletion:completionHandler];
+    [self readAttributeBarrierSafetyStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBarrierSafetyStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -63795,7 +68714,10 @@
     }
     [self subscribeAttributeBarrierSafetyStatusWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeBarrierSafetyStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -63806,13 +68728,19 @@
     [self readAttributeBarrierSafetyStatusWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeBarrierCapabilitiesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierCapabilitiesWithCompletion:completionHandler];
+    [self readAttributeBarrierCapabilitiesWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBarrierCapabilitiesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -63831,7 +68759,10 @@
     }
     [self subscribeAttributeBarrierCapabilitiesWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeBarrierCapabilitiesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -63842,13 +68773,19 @@
     [self readAttributeBarrierCapabilitiesWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeBarrierOpenEventsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierOpenEventsWithCompletion:completionHandler];
+    [self readAttributeBarrierOpenEventsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBarrierOpenEventsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -63877,7 +68814,10 @@
     }
     [self subscribeAttributeBarrierOpenEventsWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeBarrierOpenEventsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -63888,13 +68828,19 @@
     [self readAttributeBarrierOpenEventsWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeBarrierCloseEventsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierCloseEventsWithCompletion:completionHandler];
+    [self readAttributeBarrierCloseEventsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBarrierCloseEventsWithValue:(NSNumber * _Nonnull)value
                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -63924,7 +68870,10 @@
     }
     [self subscribeAttributeBarrierCloseEventsWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeBarrierCloseEventsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -63935,13 +68884,19 @@
     [self readAttributeBarrierCloseEventsWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeBarrierCommandOpenEventsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierCommandOpenEventsWithCompletion:completionHandler];
+    [self readAttributeBarrierCommandOpenEventsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBarrierCommandOpenEventsWithValue:(NSNumber * _Nonnull)value
                                       completionHandler:(MTRStatusCompletion)completionHandler
@@ -63971,7 +68926,10 @@
     }
     [self subscribeAttributeBarrierCommandOpenEventsWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeBarrierCommandOpenEventsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -63982,13 +68940,19 @@
     [self readAttributeBarrierCommandOpenEventsWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeBarrierCommandCloseEventsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierCommandCloseEventsWithCompletion:completionHandler];
+    [self readAttributeBarrierCommandCloseEventsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBarrierCommandCloseEventsWithValue:(NSNumber * _Nonnull)value
                                        completionHandler:(MTRStatusCompletion)completionHandler
@@ -64018,7 +68982,10 @@
     }
     [self subscribeAttributeBarrierCommandCloseEventsWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeBarrierCommandCloseEventsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -64029,13 +68996,19 @@
     [self readAttributeBarrierCommandCloseEventsWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeBarrierOpenPeriodWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierOpenPeriodWithCompletion:completionHandler];
+    [self readAttributeBarrierOpenPeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBarrierOpenPeriodWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -64064,7 +69037,10 @@
     }
     [self subscribeAttributeBarrierOpenPeriodWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeBarrierOpenPeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -64075,13 +69051,19 @@
     [self readAttributeBarrierOpenPeriodWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeBarrierClosePeriodWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierClosePeriodWithCompletion:completionHandler];
+    [self readAttributeBarrierClosePeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBarrierClosePeriodWithValue:(NSNumber * _Nonnull)value
                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -64111,7 +69093,10 @@
     }
     [self subscribeAttributeBarrierClosePeriodWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeBarrierClosePeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -64122,13 +69107,19 @@
     [self readAttributeBarrierClosePeriodWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeBarrierPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBarrierPositionWithCompletion:completionHandler];
+    [self readAttributeBarrierPositionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBarrierPositionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -64146,7 +69137,10 @@
     }
     [self subscribeAttributeBarrierPositionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeBarrierPositionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -64157,13 +69151,19 @@
     [self readAttributeBarrierPositionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -64182,7 +69182,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -64193,13 +69196,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -64218,7 +69227,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -64229,13 +69241,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -64252,7 +69270,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -64263,13 +69284,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -64286,7 +69313,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -64296,13 +69326,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -64320,7 +69356,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -64331,7 +69370,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -66512,7 +71554,10 @@
 - (void)readAttributeMaxPressureWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxPressureWithCompletion:completionHandler];
+    [self readAttributeMaxPressureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxPressureWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66529,7 +71574,10 @@
     }
     [self subscribeAttributeMaxPressureWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeMaxPressureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -66540,13 +71588,19 @@
     [self readAttributeMaxPressureWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeMaxSpeedWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxSpeedWithCompletion:completionHandler];
+    [self readAttributeMaxSpeedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66563,7 +71617,10 @@
     }
     [self subscribeAttributeMaxSpeedWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeMaxSpeedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -66573,12 +71630,18 @@
     [self readAttributeMaxSpeedWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeMaxFlowWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxFlowWithCompletion:completionHandler];
+    [self readAttributeMaxFlowWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxFlowWithMinInterval:(NSNumber * _Nonnull)minInterval
                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66595,7 +71658,10 @@
     }
     [self subscribeAttributeMaxFlowWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeMaxFlowWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -66605,13 +71671,19 @@
     [self readAttributeMaxFlowWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeMinConstPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinConstPressureWithCompletion:completionHandler];
+    [self readAttributeMinConstPressureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMinConstPressureWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -66629,7 +71701,10 @@
     }
     [self subscribeAttributeMinConstPressureWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMinConstPressureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -66640,13 +71715,19 @@
     [self readAttributeMinConstPressureWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMaxConstPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxConstPressureWithCompletion:completionHandler];
+    [self readAttributeMaxConstPressureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMaxConstPressureWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -66664,7 +71745,10 @@
     }
     [self subscribeAttributeMaxConstPressureWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMaxConstPressureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -66675,13 +71759,19 @@
     [self readAttributeMaxConstPressureWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMinCompPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinCompPressureWithCompletion:completionHandler];
+    [self readAttributeMinCompPressureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinCompPressureWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66699,7 +71789,10 @@
     }
     [self subscribeAttributeMinCompPressureWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeMinCompPressureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -66710,13 +71803,19 @@
     [self readAttributeMinCompPressureWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeMaxCompPressureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxCompPressureWithCompletion:completionHandler];
+    [self readAttributeMaxCompPressureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxCompPressureWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66734,7 +71833,10 @@
     }
     [self subscribeAttributeMaxCompPressureWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeMaxCompPressureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -66745,13 +71847,19 @@
     [self readAttributeMaxCompPressureWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeMinConstSpeedWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinConstSpeedWithCompletion:completionHandler];
+    [self readAttributeMinConstSpeedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinConstSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66769,7 +71877,10 @@
     }
     [self subscribeAttributeMinConstSpeedWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMinConstSpeedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -66780,13 +71891,19 @@
     [self readAttributeMinConstSpeedWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMaxConstSpeedWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxConstSpeedWithCompletion:completionHandler];
+    [self readAttributeMaxConstSpeedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxConstSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66804,7 +71921,10 @@
     }
     [self subscribeAttributeMaxConstSpeedWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMaxConstSpeedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -66815,13 +71935,19 @@
     [self readAttributeMaxConstSpeedWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinConstFlowWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinConstFlowWithCompletion:completionHandler];
+    [self readAttributeMinConstFlowWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinConstFlowWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66838,7 +71964,10 @@
     }
     [self subscribeAttributeMinConstFlowWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeMinConstFlowWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -66849,13 +71978,19 @@
     [self readAttributeMinConstFlowWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeMaxConstFlowWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxConstFlowWithCompletion:completionHandler];
+    [self readAttributeMaxConstFlowWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxConstFlowWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66872,7 +72007,10 @@
     }
     [self subscribeAttributeMaxConstFlowWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeMaxConstFlowWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -66883,13 +72021,19 @@
     [self readAttributeMaxConstFlowWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeMinConstTempWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinConstTempWithCompletion:completionHandler];
+    [self readAttributeMinConstTempWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinConstTempWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66906,7 +72050,10 @@
     }
     [self subscribeAttributeMinConstTempWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeMinConstTempWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -66917,13 +72064,19 @@
     [self readAttributeMinConstTempWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeMaxConstTempWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxConstTempWithCompletion:completionHandler];
+    [self readAttributeMaxConstTempWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxConstTempWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66940,7 +72093,10 @@
     }
     [self subscribeAttributeMaxConstTempWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeMaxConstTempWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -66951,13 +72107,19 @@
     [self readAttributeMaxConstTempWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributePumpStatusWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePumpStatusWithCompletion:completionHandler];
+    [self readAttributePumpStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePumpStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -66974,7 +72136,10 @@
     }
     [self subscribeAttributePumpStatusWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributePumpStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -66984,13 +72149,19 @@
     [self readAttributePumpStatusWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeEffectiveOperationModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEffectiveOperationModeWithCompletion:completionHandler];
+    [self readAttributeEffectiveOperationModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeEffectiveOperationModeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67009,7 +72180,10 @@
     }
     [self subscribeAttributeEffectiveOperationModeWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeEffectiveOperationModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -67020,13 +72194,19 @@
     [self readAttributeEffectiveOperationModeWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeEffectiveControlModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEffectiveControlModeWithCompletion:completionHandler];
+    [self readAttributeEffectiveControlModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeEffectiveControlModeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67045,7 +72225,10 @@
     }
     [self subscribeAttributeEffectiveControlModeWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeEffectiveControlModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -67056,13 +72239,19 @@
     [self readAttributeEffectiveControlModeWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeCapacityWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCapacityWithCompletion:completionHandler];
+    [self readAttributeCapacityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCapacityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67079,7 +72268,10 @@
     }
     [self subscribeAttributeCapacityWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeCapacityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -67089,12 +72281,18 @@
     [self readAttributeCapacityWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeSpeedWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSpeedWithCompletion:completionHandler];
+    [self readAttributeSpeedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67111,20 +72309,32 @@
     }
     [self subscribeAttributeSpeedWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeSpeedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSpeedWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeSpeedWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeLifetimeRunningHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLifetimeRunningHoursWithCompletion:completionHandler];
+    [self readAttributeLifetimeRunningHoursWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLifetimeRunningHoursWithValue:(NSNumber * _Nullable)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -67154,7 +72364,10 @@
     }
     [self subscribeAttributeLifetimeRunningHoursWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeLifetimeRunningHoursWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -67165,12 +72378,18 @@
     [self readAttributeLifetimeRunningHoursWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributePowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePowerWithCompletion:completionHandler];
+    [self readAttributePowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67187,20 +72406,32 @@
     }
     [self subscribeAttributePowerWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributePowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePowerWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributePowerWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeLifetimeEnergyConsumedWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLifetimeEnergyConsumedWithCompletion:completionHandler];
+    [self readAttributeLifetimeEnergyConsumedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLifetimeEnergyConsumedWithValue:(NSNumber * _Nullable)value
                                     completionHandler:(MTRStatusCompletion)completionHandler
@@ -67230,7 +72461,10 @@
     }
     [self subscribeAttributeLifetimeEnergyConsumedWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeLifetimeEnergyConsumedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -67241,13 +72475,19 @@
     [self readAttributeLifetimeEnergyConsumedWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeOperationModeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOperationModeWithCompletion:completionHandler];
+    [self readAttributeOperationModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOperationModeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -67275,7 +72515,10 @@
     }
     [self subscribeAttributeOperationModeWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeOperationModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -67286,13 +72529,19 @@
     [self readAttributeOperationModeWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeControlModeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeControlModeWithCompletion:completionHandler];
+    [self readAttributeControlModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeControlModeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -67319,7 +72568,10 @@
     }
     [self subscribeAttributeControlModeWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeControlModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -67330,13 +72582,19 @@
     [self readAttributeControlModeWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67355,7 +72613,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -67366,13 +72627,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67391,7 +72658,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -67402,13 +72672,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67425,7 +72701,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -67436,13 +72715,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67459,7 +72744,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -67469,13 +72757,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -67493,7 +72787,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -67504,7 +72801,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -72546,7 +77846,12 @@
                   completionHandler:(void (^)(MTRThermostatClusterGetWeeklyScheduleResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler
 {
-    [self getWeeklyScheduleWithParams:params completion:completionHandler];
+    [self getWeeklyScheduleWithParams:params
+                           completion:^(
+                               MTRThermostatClusterGetWeeklyScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                               // Cast is safe because subclass does not add any selectors.
+                               completionHandler(static_cast<MTRThermostatClusterGetWeeklyScheduleResponseParams *>(data), error);
+                           }];
 }
 - (void)clearWeeklyScheduleWithParams:(MTRThermostatClusterClearWeeklyScheduleParams * _Nullable)params
                     completionHandler:(MTRStatusCompletion)completionHandler
@@ -72555,13 +77860,16 @@
 }
 - (void)clearWeeklyScheduleWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self clearWeeklyScheduleWithParams:nil completion:completionHandler];
+    [self clearWeeklyScheduleWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeLocalTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLocalTemperatureWithCompletion:completionHandler];
+    [self readAttributeLocalTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeLocalTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -72579,7 +77887,10 @@
     }
     [self subscribeAttributeLocalTemperatureWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeLocalTemperatureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -72590,13 +77901,19 @@
     [self readAttributeLocalTemperatureWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeOutdoorTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOutdoorTemperatureWithCompletion:completionHandler];
+    [self readAttributeOutdoorTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOutdoorTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72615,7 +77932,10 @@
     }
     [self subscribeAttributeOutdoorTemperatureWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeOutdoorTemperatureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -72626,13 +77946,19 @@
     [self readAttributeOutdoorTemperatureWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeOccupancyWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupancyWithCompletion:completionHandler];
+    [self readAttributeOccupancyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOccupancyWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72649,7 +77975,10 @@
     }
     [self subscribeAttributeOccupancyWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeOccupancyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -72659,13 +77988,19 @@
     [self readAttributeOccupancyWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeAbsMinHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAbsMinHeatSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeAbsMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAbsMinHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72684,7 +78019,10 @@
     }
     [self subscribeAttributeAbsMinHeatSetpointLimitWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeAbsMinHeatSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -72695,13 +78033,19 @@
     [self readAttributeAbsMinHeatSetpointLimitWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeAbsMaxHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAbsMaxHeatSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeAbsMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAbsMaxHeatSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72720,7 +78064,10 @@
     }
     [self subscribeAttributeAbsMaxHeatSetpointLimitWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeAbsMaxHeatSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -72731,13 +78078,19 @@
     [self readAttributeAbsMaxHeatSetpointLimitWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeAbsMinCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAbsMinCoolSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeAbsMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAbsMinCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72756,7 +78109,10 @@
     }
     [self subscribeAttributeAbsMinCoolSetpointLimitWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeAbsMinCoolSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -72767,13 +78123,19 @@
     [self readAttributeAbsMinCoolSetpointLimitWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeAbsMaxCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAbsMaxCoolSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeAbsMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAbsMaxCoolSetpointLimitWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72792,7 +78154,10 @@
     }
     [self subscribeAttributeAbsMaxCoolSetpointLimitWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeAbsMaxCoolSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -72803,13 +78168,19 @@
     [self readAttributeAbsMaxCoolSetpointLimitWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributePICoolingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributePICoolingDemandWithCompletion:completionHandler];
+    [self readAttributePICoolingDemandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePICoolingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72827,7 +78198,10 @@
     }
     [self subscribeAttributePICoolingDemandWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributePICoolingDemandWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -72838,13 +78212,19 @@
     [self readAttributePICoolingDemandWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributePIHeatingDemandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributePIHeatingDemandWithCompletion:completionHandler];
+    [self readAttributePIHeatingDemandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePIHeatingDemandWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -72862,7 +78242,10 @@
     }
     [self subscribeAttributePIHeatingDemandWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributePIHeatingDemandWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -72873,13 +78256,19 @@
     [self readAttributePIHeatingDemandWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeHVACSystemTypeConfigurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeHVACSystemTypeConfigurationWithCompletion:completionHandler];
+    [self readAttributeHVACSystemTypeConfigurationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeHVACSystemTypeConfigurationWithValue:(NSNumber * _Nonnull)value
                                          completionHandler:(MTRStatusCompletion)completionHandler
@@ -72909,7 +78298,10 @@
     }
     [self subscribeAttributeHVACSystemTypeConfigurationWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeHVACSystemTypeConfigurationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -72920,13 +78312,19 @@
     [self readAttributeHVACSystemTypeConfigurationWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeLocalTemperatureCalibrationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLocalTemperatureCalibrationWithCompletion:completionHandler];
+    [self readAttributeLocalTemperatureCalibrationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLocalTemperatureCalibrationWithValue:(NSNumber * _Nonnull)value
                                          completionHandler:(MTRStatusCompletion)completionHandler
@@ -72956,7 +78354,10 @@
     }
     [self subscribeAttributeLocalTemperatureCalibrationWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeLocalTemperatureCalibrationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -72967,13 +78368,19 @@
     [self readAttributeLocalTemperatureCalibrationWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeOccupiedCoolingSetpointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupiedCoolingSetpointWithCompletion:completionHandler];
+    [self readAttributeOccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOccupiedCoolingSetpointWithValue:(NSNumber * _Nonnull)value
                                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -73003,7 +78410,10 @@
     }
     [self subscribeAttributeOccupiedCoolingSetpointWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeOccupiedCoolingSetpointWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -73014,13 +78424,19 @@
     [self readAttributeOccupiedCoolingSetpointWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeOccupiedHeatingSetpointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupiedHeatingSetpointWithCompletion:completionHandler];
+    [self readAttributeOccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOccupiedHeatingSetpointWithValue:(NSNumber * _Nonnull)value
                                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -73050,7 +78466,10 @@
     }
     [self subscribeAttributeOccupiedHeatingSetpointWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeOccupiedHeatingSetpointWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -73061,13 +78480,19 @@
     [self readAttributeOccupiedHeatingSetpointWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeUnoccupiedCoolingSetpointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUnoccupiedCoolingSetpointWithCompletion:completionHandler];
+    [self readAttributeUnoccupiedCoolingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUnoccupiedCoolingSetpointWithValue:(NSNumber * _Nonnull)value
                                        completionHandler:(MTRStatusCompletion)completionHandler
@@ -73097,7 +78522,10 @@
     }
     [self subscribeAttributeUnoccupiedCoolingSetpointWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeUnoccupiedCoolingSetpointWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -73108,13 +78536,19 @@
     [self readAttributeUnoccupiedCoolingSetpointWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeUnoccupiedHeatingSetpointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUnoccupiedHeatingSetpointWithCompletion:completionHandler];
+    [self readAttributeUnoccupiedHeatingSetpointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUnoccupiedHeatingSetpointWithValue:(NSNumber * _Nonnull)value
                                        completionHandler:(MTRStatusCompletion)completionHandler
@@ -73144,7 +78578,10 @@
     }
     [self subscribeAttributeUnoccupiedHeatingSetpointWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeUnoccupiedHeatingSetpointWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -73155,13 +78592,19 @@
     [self readAttributeUnoccupiedHeatingSetpointWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeMinHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinHeatSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeMinHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeMinHeatSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -73191,7 +78634,10 @@
     }
     [self subscribeAttributeMinHeatSetpointLimitWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeMinHeatSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -73202,13 +78648,19 @@
     [self readAttributeMinHeatSetpointLimitWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeMaxHeatSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxHeatSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeMaxHeatSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeMaxHeatSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -73238,7 +78690,10 @@
     }
     [self subscribeAttributeMaxHeatSetpointLimitWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeMaxHeatSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -73249,13 +78704,19 @@
     [self readAttributeMaxHeatSetpointLimitWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeMinCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinCoolSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeMinCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeMinCoolSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -73285,7 +78746,10 @@
     }
     [self subscribeAttributeMinCoolSetpointLimitWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeMinCoolSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -73296,13 +78760,19 @@
     [self readAttributeMinCoolSetpointLimitWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeMaxCoolSetpointLimitWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxCoolSetpointLimitWithCompletion:completionHandler];
+    [self readAttributeMaxCoolSetpointLimitWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeMaxCoolSetpointLimitWithValue:(NSNumber * _Nonnull)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -73332,7 +78802,10 @@
     }
     [self subscribeAttributeMaxCoolSetpointLimitWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeMaxCoolSetpointLimitWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -73343,13 +78816,19 @@
     [self readAttributeMaxCoolSetpointLimitWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeMinSetpointDeadBandWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinSetpointDeadBandWithCompletion:completionHandler];
+    [self readAttributeMinSetpointDeadBandWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeMinSetpointDeadBandWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -73379,7 +78858,10 @@
     }
     [self subscribeAttributeMinSetpointDeadBandWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeMinSetpointDeadBandWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -73390,13 +78872,19 @@
     [self readAttributeMinSetpointDeadBandWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRemoteSensingWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRemoteSensingWithCompletion:completionHandler];
+    [self readAttributeRemoteSensingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRemoteSensingWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -73424,7 +78912,10 @@
     }
     [self subscribeAttributeRemoteSensingWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRemoteSensingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -73435,13 +78926,19 @@
     [self readAttributeRemoteSensingWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeControlSequenceOfOperationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeControlSequenceOfOperationWithCompletion:completionHandler];
+    [self readAttributeControlSequenceOfOperationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeControlSequenceOfOperationWithValue:(NSNumber * _Nonnull)value
                                         completionHandler:(MTRStatusCompletion)completionHandler
@@ -73471,7 +78968,10 @@
     }
     [self subscribeAttributeControlSequenceOfOperationWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeControlSequenceOfOperationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -73482,13 +78982,19 @@
     [self readAttributeControlSequenceOfOperationWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeSystemModeWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSystemModeWithCompletion:completionHandler];
+    [self readAttributeSystemModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeSystemModeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -73515,7 +79021,10 @@
     }
     [self subscribeAttributeSystemModeWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeSystemModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -73525,13 +79034,19 @@
     [self readAttributeSystemModeWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeThermostatRunningModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeThermostatRunningModeWithCompletion:completionHandler];
+    [self readAttributeThermostatRunningModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeThermostatRunningModeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73550,7 +79065,10 @@
     }
     [self subscribeAttributeThermostatRunningModeWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeThermostatRunningModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -73561,13 +79079,19 @@
     [self readAttributeThermostatRunningModeWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeStartOfWeekWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStartOfWeekWithCompletion:completionHandler];
+    [self readAttributeStartOfWeekWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStartOfWeekWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73584,7 +79108,10 @@
     }
     [self subscribeAttributeStartOfWeekWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeStartOfWeekWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -73595,13 +79122,19 @@
     [self readAttributeStartOfWeekWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeNumberOfWeeklyTransitionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfWeeklyTransitionsWithCompletion:completionHandler];
+    [self readAttributeNumberOfWeeklyTransitionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfWeeklyTransitionsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73620,7 +79153,10 @@
     }
     [self subscribeAttributeNumberOfWeeklyTransitionsWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeNumberOfWeeklyTransitionsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -73631,13 +79167,19 @@
     [self readAttributeNumberOfWeeklyTransitionsWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeNumberOfDailyTransitionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfDailyTransitionsWithCompletion:completionHandler];
+    [self readAttributeNumberOfDailyTransitionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfDailyTransitionsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73656,7 +79198,10 @@
     }
     [self subscribeAttributeNumberOfDailyTransitionsWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeNumberOfDailyTransitionsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -73667,13 +79212,19 @@
     [self readAttributeNumberOfDailyTransitionsWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeTemperatureSetpointHoldWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTemperatureSetpointHoldWithCompletion:completionHandler];
+    [self readAttributeTemperatureSetpointHoldWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeTemperatureSetpointHoldWithValue:(NSNumber * _Nonnull)value
                                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -73703,7 +79254,10 @@
     }
     [self subscribeAttributeTemperatureSetpointHoldWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeTemperatureSetpointHoldWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -73714,13 +79268,19 @@
     [self readAttributeTemperatureSetpointHoldWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeTemperatureSetpointHoldDurationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTemperatureSetpointHoldDurationWithCompletion:completionHandler];
+    [self readAttributeTemperatureSetpointHoldDurationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeTemperatureSetpointHoldDurationWithValue:(NSNumber * _Nullable)value
                                              completionHandler:(MTRStatusCompletion)completionHandler
@@ -73750,7 +79310,10 @@
     }
     [self subscribeAttributeTemperatureSetpointHoldDurationWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeTemperatureSetpointHoldDurationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -73761,13 +79324,19 @@
     [self readAttributeTemperatureSetpointHoldDurationWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeThermostatProgrammingOperationModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeThermostatProgrammingOperationModeWithCompletion:completionHandler];
+    [self readAttributeThermostatProgrammingOperationModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeThermostatProgrammingOperationModeWithValue:(NSNumber * _Nonnull)value
                                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -73797,7 +79366,10 @@
     }
     [self subscribeAttributeThermostatProgrammingOperationModeWithParams:subscribeParams
                                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                                           reportHandler:reportHandler];
+                                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 + (void)readAttributeThermostatProgrammingOperationModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                  endpoint:(NSNumber *)endpoint
@@ -73805,16 +79377,23 @@
                                                         completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeThermostatProgrammingOperationModeWithAttributeCache:attributeCacheContainer
-                                                                   endpoint:endpoint
-                                                                      queue:queue
-                                                                 completion:completionHandler];
+    [self
+        readAttributeThermostatProgrammingOperationModeWithAttributeCache:attributeCacheContainer
+                                                                 endpoint:endpoint
+                                                                    queue:queue
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeThermostatRunningStateWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeThermostatRunningStateWithCompletion:completionHandler];
+    [self readAttributeThermostatRunningStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeThermostatRunningStateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73833,7 +79412,10 @@
     }
     [self subscribeAttributeThermostatRunningStateWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeThermostatRunningStateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -73844,13 +79426,19 @@
     [self readAttributeThermostatRunningStateWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeSetpointChangeSourceWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSetpointChangeSourceWithCompletion:completionHandler];
+    [self readAttributeSetpointChangeSourceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSetpointChangeSourceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73869,7 +79457,10 @@
     }
     [self subscribeAttributeSetpointChangeSourceWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeSetpointChangeSourceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -73880,13 +79471,19 @@
     [self readAttributeSetpointChangeSourceWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeSetpointChangeAmountWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSetpointChangeAmountWithCompletion:completionHandler];
+    [self readAttributeSetpointChangeAmountWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSetpointChangeAmountWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73905,7 +79502,10 @@
     }
     [self subscribeAttributeSetpointChangeAmountWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeSetpointChangeAmountWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -73916,13 +79516,19 @@
     [self readAttributeSetpointChangeAmountWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeSetpointChangeSourceTimestampWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSetpointChangeSourceTimestampWithCompletion:completionHandler];
+    [self readAttributeSetpointChangeSourceTimestampWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSetpointChangeSourceTimestampWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -73941,7 +79547,10 @@
     }
     [self subscribeAttributeSetpointChangeSourceTimestampWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeSetpointChangeSourceTimestampWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -73952,13 +79561,19 @@
     [self readAttributeSetpointChangeSourceTimestampWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeOccupiedSetbackWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupiedSetbackWithCompletion:completionHandler];
+    [self readAttributeOccupiedSetbackWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOccupiedSetbackWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -73986,7 +79601,10 @@
     }
     [self subscribeAttributeOccupiedSetbackWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeOccupiedSetbackWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -73997,13 +79615,19 @@
     [self readAttributeOccupiedSetbackWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeOccupiedSetbackMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupiedSetbackMinWithCompletion:completionHandler];
+    [self readAttributeOccupiedSetbackMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOccupiedSetbackMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74022,7 +79646,10 @@
     }
     [self subscribeAttributeOccupiedSetbackMinWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeOccupiedSetbackMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -74033,13 +79660,19 @@
     [self readAttributeOccupiedSetbackMinWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeOccupiedSetbackMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupiedSetbackMaxWithCompletion:completionHandler];
+    [self readAttributeOccupiedSetbackMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOccupiedSetbackMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74058,7 +79691,10 @@
     }
     [self subscribeAttributeOccupiedSetbackMaxWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeOccupiedSetbackMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -74069,13 +79705,19 @@
     [self readAttributeOccupiedSetbackMaxWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeUnoccupiedSetbackWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUnoccupiedSetbackWithCompletion:completionHandler];
+    [self readAttributeUnoccupiedSetbackWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUnoccupiedSetbackWithValue:(NSNumber * _Nullable)value
                                completionHandler:(MTRStatusCompletion)completionHandler
@@ -74105,7 +79747,10 @@
     }
     [self subscribeAttributeUnoccupiedSetbackWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeUnoccupiedSetbackWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -74116,13 +79761,19 @@
     [self readAttributeUnoccupiedSetbackWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeUnoccupiedSetbackMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUnoccupiedSetbackMinWithCompletion:completionHandler];
+    [self readAttributeUnoccupiedSetbackMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUnoccupiedSetbackMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74141,7 +79792,10 @@
     }
     [self subscribeAttributeUnoccupiedSetbackMinWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeUnoccupiedSetbackMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -74152,13 +79806,19 @@
     [self readAttributeUnoccupiedSetbackMinWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeUnoccupiedSetbackMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUnoccupiedSetbackMaxWithCompletion:completionHandler];
+    [self readAttributeUnoccupiedSetbackMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeUnoccupiedSetbackMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74177,7 +79837,10 @@
     }
     [self subscribeAttributeUnoccupiedSetbackMaxWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeUnoccupiedSetbackMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -74188,13 +79851,19 @@
     [self readAttributeUnoccupiedSetbackMaxWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeEmergencyHeatDeltaWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEmergencyHeatDeltaWithCompletion:completionHandler];
+    [self readAttributeEmergencyHeatDeltaWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEmergencyHeatDeltaWithValue:(NSNumber * _Nonnull)value
                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -74224,7 +79893,10 @@
     }
     [self subscribeAttributeEmergencyHeatDeltaWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeEmergencyHeatDeltaWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -74235,12 +79907,18 @@
     [self readAttributeEmergencyHeatDeltaWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeACTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACTypeWithCompletion:completionHandler];
+    [self readAttributeACTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeACTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -74267,20 +79945,32 @@
     }
     [self subscribeAttributeACTypeWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeACTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACTypeWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeACTypeWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeACCapacityWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACCapacityWithCompletion:completionHandler];
+    [self readAttributeACCapacityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeACCapacityWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -74307,7 +79997,10 @@
     }
     [self subscribeAttributeACCapacityWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeACCapacityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -74317,13 +80010,19 @@
     [self readAttributeACCapacityWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeACRefrigerantTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACRefrigerantTypeWithCompletion:completionHandler];
+    [self readAttributeACRefrigerantTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeACRefrigerantTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -74352,7 +80051,10 @@
     }
     [self subscribeAttributeACRefrigerantTypeWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeACRefrigerantTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -74363,13 +80065,19 @@
     [self readAttributeACRefrigerantTypeWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeACCompressorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACCompressorTypeWithCompletion:completionHandler];
+    [self readAttributeACCompressorTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeACCompressorTypeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -74397,7 +80105,10 @@
     }
     [self subscribeAttributeACCompressorTypeWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeACCompressorTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -74408,13 +80119,19 @@
     [self readAttributeACCompressorTypeWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeACErrorCodeWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACErrorCodeWithCompletion:completionHandler];
+    [self readAttributeACErrorCodeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeACErrorCodeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -74441,7 +80158,10 @@
     }
     [self subscribeAttributeACErrorCodeWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeACErrorCodeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -74452,13 +80172,19 @@
     [self readAttributeACErrorCodeWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeACLouverPositionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACLouverPositionWithCompletion:completionHandler];
+    [self readAttributeACLouverPositionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeACLouverPositionWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -74486,7 +80212,10 @@
     }
     [self subscribeAttributeACLouverPositionWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeACLouverPositionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -74497,13 +80226,19 @@
     [self readAttributeACLouverPositionWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeACCoilTemperatureWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACCoilTemperatureWithCompletion:completionHandler];
+    [self readAttributeACCoilTemperatureWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeACCoilTemperatureWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74522,7 +80257,10 @@
     }
     [self subscribeAttributeACCoilTemperatureWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeACCoilTemperatureWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -74533,13 +80271,19 @@
     [self readAttributeACCoilTemperatureWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeACCapacityformatWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeACCapacityformatWithCompletion:completionHandler];
+    [self readAttributeACCapacityformatWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeACCapacityformatWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -74567,7 +80311,10 @@
     }
     [self subscribeAttributeACCapacityformatWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeACCapacityformatWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -74578,13 +80325,19 @@
     [self readAttributeACCapacityformatWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74603,7 +80356,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -74614,13 +80370,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74639,7 +80401,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -74650,13 +80415,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74673,7 +80444,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -74684,13 +80458,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74707,7 +80487,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -74717,13 +80500,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -74741,7 +80530,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -74752,7 +80544,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -76137,7 +81932,10 @@
 
 - (void)readAttributeFanModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFanModeWithCompletion:completionHandler];
+    [self readAttributeFanModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeFanModeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -76164,7 +81962,10 @@
     }
     [self subscribeAttributeFanModeWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeFanModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -76174,13 +81975,19 @@
     [self readAttributeFanModeWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeFanModeSequenceWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFanModeSequenceWithCompletion:completionHandler];
+    [self readAttributeFanModeSequenceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeFanModeSequenceWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -76208,7 +82015,10 @@
     }
     [self subscribeAttributeFanModeSequenceWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeFanModeSequenceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -76219,13 +82029,19 @@
     [self readAttributeFanModeSequenceWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributePercentSettingWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributePercentSettingWithCompletion:completionHandler];
+    [self readAttributePercentSettingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePercentSettingWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -76253,7 +82069,10 @@
     }
     [self subscribeAttributePercentSettingWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributePercentSettingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -76264,13 +82083,19 @@
     [self readAttributePercentSettingWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributePercentCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributePercentCurrentWithCompletion:completionHandler];
+    [self readAttributePercentCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePercentCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76288,7 +82113,10 @@
     }
     [self subscribeAttributePercentCurrentWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributePercentCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -76299,13 +82127,19 @@
     [self readAttributePercentCurrentWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeSpeedMaxWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSpeedMaxWithCompletion:completionHandler];
+    [self readAttributeSpeedMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSpeedMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76322,7 +82156,10 @@
     }
     [self subscribeAttributeSpeedMaxWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeSpeedMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -76332,13 +82169,19 @@
     [self readAttributeSpeedMaxWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeSpeedSettingWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSpeedSettingWithCompletion:completionHandler];
+    [self readAttributeSpeedSettingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeSpeedSettingWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -76365,7 +82208,10 @@
     }
     [self subscribeAttributeSpeedSettingWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeSpeedSettingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -76376,13 +82222,19 @@
     [self readAttributeSpeedSettingWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeSpeedCurrentWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSpeedCurrentWithCompletion:completionHandler];
+    [self readAttributeSpeedCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSpeedCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76399,7 +82251,10 @@
     }
     [self subscribeAttributeSpeedCurrentWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeSpeedCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -76410,13 +82265,19 @@
     [self readAttributeSpeedCurrentWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeRockSupportWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRockSupportWithCompletion:completionHandler];
+    [self readAttributeRockSupportWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRockSupportWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76433,7 +82294,10 @@
     }
     [self subscribeAttributeRockSupportWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeRockSupportWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -76444,13 +82308,19 @@
     [self readAttributeRockSupportWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeRockSettingWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRockSettingWithCompletion:completionHandler];
+    [self readAttributeRockSettingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRockSettingWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -76477,7 +82347,10 @@
     }
     [self subscribeAttributeRockSettingWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeRockSettingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -76488,13 +82361,19 @@
     [self readAttributeRockSettingWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeWindSupportWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWindSupportWithCompletion:completionHandler];
+    [self readAttributeWindSupportWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeWindSupportWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76511,7 +82390,10 @@
     }
     [self subscribeAttributeWindSupportWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeWindSupportWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -76522,13 +82404,19 @@
     [self readAttributeWindSupportWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeWindSettingWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWindSettingWithCompletion:completionHandler];
+    [self readAttributeWindSettingWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeWindSettingWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -76555,7 +82443,10 @@
     }
     [self subscribeAttributeWindSettingWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeWindSettingWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -76566,13 +82457,19 @@
     [self readAttributeWindSettingWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76591,7 +82488,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -76602,13 +82502,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76627,7 +82533,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -76638,13 +82547,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76661,7 +82576,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -76672,13 +82590,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76695,7 +82619,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -76705,13 +82632,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -76729,7 +82662,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -76740,7 +82676,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -77470,7 +83409,10 @@
 - (void)readAttributeTemperatureDisplayModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTemperatureDisplayModeWithCompletion:completionHandler];
+    [self readAttributeTemperatureDisplayModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeTemperatureDisplayModeWithValue:(NSNumber * _Nonnull)value
                                     completionHandler:(MTRStatusCompletion)completionHandler
@@ -77500,7 +83442,10 @@
     }
     [self subscribeAttributeTemperatureDisplayModeWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeTemperatureDisplayModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -77511,13 +83456,19 @@
     [self readAttributeTemperatureDisplayModeWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeKeypadLockoutWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeKeypadLockoutWithCompletion:completionHandler];
+    [self readAttributeKeypadLockoutWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeKeypadLockoutWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -77545,7 +83496,10 @@
     }
     [self subscribeAttributeKeypadLockoutWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeKeypadLockoutWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -77556,13 +83510,19 @@
     [self readAttributeKeypadLockoutWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeScheduleProgrammingVisibilityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeScheduleProgrammingVisibilityWithCompletion:completionHandler];
+    [self readAttributeScheduleProgrammingVisibilityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeScheduleProgrammingVisibilityWithValue:(NSNumber * _Nonnull)value
                                            completionHandler:(MTRStatusCompletion)completionHandler
@@ -77592,7 +83552,10 @@
     }
     [self subscribeAttributeScheduleProgrammingVisibilityWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeScheduleProgrammingVisibilityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -77603,13 +83566,19 @@
     [self readAttributeScheduleProgrammingVisibilityWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -77628,7 +83597,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -77639,13 +83611,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -77664,7 +83642,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -77675,13 +83656,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -77698,7 +83685,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -77709,13 +83699,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -77732,7 +83728,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -77742,13 +83741,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -77766,7 +83771,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -77777,7 +83785,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -82975,7 +88986,10 @@
 - (void)readAttributeCurrentHueWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentHueWithCompletion:completionHandler];
+    [self readAttributeCurrentHueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentHueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -82992,7 +89006,10 @@
     }
     [self subscribeAttributeCurrentHueWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeCurrentHueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -83002,13 +89019,19 @@
     [self readAttributeCurrentHueWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeCurrentSaturationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentSaturationWithCompletion:completionHandler];
+    [self readAttributeCurrentSaturationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentSaturationWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83027,7 +89050,10 @@
     }
     [self subscribeAttributeCurrentSaturationWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeCurrentSaturationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83038,13 +89064,19 @@
     [self readAttributeCurrentSaturationWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeRemainingTimeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRemainingTimeWithCompletion:completionHandler];
+    [self readAttributeRemainingTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRemainingTimeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83062,7 +89094,10 @@
     }
     [self subscribeAttributeRemainingTimeWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRemainingTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -83073,13 +89108,19 @@
     [self readAttributeRemainingTimeWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeCurrentXWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentXWithCompletion:completionHandler];
+    [self readAttributeCurrentXWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentXWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83096,7 +89137,10 @@
     }
     [self subscribeAttributeCurrentXWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeCurrentXWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -83106,13 +89150,19 @@
     [self readAttributeCurrentXWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeCurrentYWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentYWithCompletion:completionHandler];
+    [self readAttributeCurrentYWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentYWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83129,7 +89179,10 @@
     }
     [self subscribeAttributeCurrentYWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeCurrentYWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -83139,13 +89192,19 @@
     [self readAttributeCurrentYWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeDriftCompensationWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDriftCompensationWithCompletion:completionHandler];
+    [self readAttributeDriftCompensationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDriftCompensationWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83164,7 +89223,10 @@
     }
     [self subscribeAttributeDriftCompensationWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeDriftCompensationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83175,13 +89237,19 @@
     [self readAttributeDriftCompensationWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeCompensationTextWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCompensationTextWithCompletion:completionHandler];
+    [self readAttributeCompensationTextWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeCompensationTextWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -83199,7 +89267,10 @@
     }
     [self subscribeAttributeCompensationTextWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 + (void)readAttributeCompensationTextWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -83210,13 +89281,19 @@
     [self readAttributeCompensationTextWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSString *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeColorTemperatureMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorTemperatureMiredsWithCompletion:completionHandler];
+    [self readAttributeColorTemperatureMiredsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorTemperatureMiredsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83235,7 +89312,10 @@
     }
     [self subscribeAttributeColorTemperatureMiredsWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeColorTemperatureMiredsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -83246,13 +89326,19 @@
     [self readAttributeColorTemperatureMiredsWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeColorModeWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorModeWithCompletion:completionHandler];
+    [self readAttributeColorModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorModeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83269,7 +89355,10 @@
     }
     [self subscribeAttributeColorModeWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeColorModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83279,12 +89368,18 @@
     [self readAttributeColorModeWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeOptionsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOptionsWithCompletion:completionHandler];
+    [self readAttributeOptionsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOptionsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -83311,7 +89406,10 @@
     }
     [self subscribeAttributeOptionsWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeOptionsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -83321,13 +89419,19 @@
     [self readAttributeOptionsWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeNumberOfPrimariesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNumberOfPrimariesWithCompletion:completionHandler];
+    [self readAttributeNumberOfPrimariesWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNumberOfPrimariesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83346,7 +89450,10 @@
     }
     [self subscribeAttributeNumberOfPrimariesWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeNumberOfPrimariesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83357,13 +89464,19 @@
     [self readAttributeNumberOfPrimariesWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePrimary1XWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary1XWithCompletion:completionHandler];
+    [self readAttributePrimary1XWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary1XWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83380,7 +89493,10 @@
     }
     [self subscribeAttributePrimary1XWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary1XWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83390,13 +89506,19 @@
     [self readAttributePrimary1XWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary1YWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary1YWithCompletion:completionHandler];
+    [self readAttributePrimary1YWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary1YWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83413,7 +89535,10 @@
     }
     [self subscribeAttributePrimary1YWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary1YWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83423,13 +89548,19 @@
     [self readAttributePrimary1YWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary1IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary1IntensityWithCompletion:completionHandler];
+    [self readAttributePrimary1IntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary1IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83448,7 +89579,10 @@
     }
     [self subscribeAttributePrimary1IntensityWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePrimary1IntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83459,13 +89593,19 @@
     [self readAttributePrimary1IntensityWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePrimary2XWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary2XWithCompletion:completionHandler];
+    [self readAttributePrimary2XWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary2XWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83482,7 +89622,10 @@
     }
     [self subscribeAttributePrimary2XWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary2XWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83492,13 +89635,19 @@
     [self readAttributePrimary2XWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary2YWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary2YWithCompletion:completionHandler];
+    [self readAttributePrimary2YWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary2YWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83515,7 +89664,10 @@
     }
     [self subscribeAttributePrimary2YWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary2YWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83525,13 +89677,19 @@
     [self readAttributePrimary2YWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary2IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary2IntensityWithCompletion:completionHandler];
+    [self readAttributePrimary2IntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary2IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83550,7 +89708,10 @@
     }
     [self subscribeAttributePrimary2IntensityWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePrimary2IntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83561,13 +89722,19 @@
     [self readAttributePrimary2IntensityWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePrimary3XWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary3XWithCompletion:completionHandler];
+    [self readAttributePrimary3XWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary3XWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83584,7 +89751,10 @@
     }
     [self subscribeAttributePrimary3XWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary3XWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83594,13 +89764,19 @@
     [self readAttributePrimary3XWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary3YWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary3YWithCompletion:completionHandler];
+    [self readAttributePrimary3YWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary3YWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83617,7 +89793,10 @@
     }
     [self subscribeAttributePrimary3YWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary3YWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83627,13 +89806,19 @@
     [self readAttributePrimary3YWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary3IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary3IntensityWithCompletion:completionHandler];
+    [self readAttributePrimary3IntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary3IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83652,7 +89837,10 @@
     }
     [self subscribeAttributePrimary3IntensityWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePrimary3IntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83663,13 +89851,19 @@
     [self readAttributePrimary3IntensityWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePrimary4XWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary4XWithCompletion:completionHandler];
+    [self readAttributePrimary4XWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary4XWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83686,7 +89880,10 @@
     }
     [self subscribeAttributePrimary4XWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary4XWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83696,13 +89893,19 @@
     [self readAttributePrimary4XWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary4YWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary4YWithCompletion:completionHandler];
+    [self readAttributePrimary4YWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary4YWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83719,7 +89922,10 @@
     }
     [self subscribeAttributePrimary4YWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary4YWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83729,13 +89935,19 @@
     [self readAttributePrimary4YWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary4IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary4IntensityWithCompletion:completionHandler];
+    [self readAttributePrimary4IntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary4IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83754,7 +89966,10 @@
     }
     [self subscribeAttributePrimary4IntensityWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePrimary4IntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83765,13 +89980,19 @@
     [self readAttributePrimary4IntensityWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePrimary5XWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary5XWithCompletion:completionHandler];
+    [self readAttributePrimary5XWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary5XWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83788,7 +90009,10 @@
     }
     [self subscribeAttributePrimary5XWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary5XWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83798,13 +90022,19 @@
     [self readAttributePrimary5XWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary5YWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary5YWithCompletion:completionHandler];
+    [self readAttributePrimary5YWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary5YWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83821,7 +90051,10 @@
     }
     [self subscribeAttributePrimary5YWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary5YWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83831,13 +90064,19 @@
     [self readAttributePrimary5YWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary5IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary5IntensityWithCompletion:completionHandler];
+    [self readAttributePrimary5IntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary5IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83856,7 +90095,10 @@
     }
     [self subscribeAttributePrimary5IntensityWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePrimary5IntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83867,13 +90109,19 @@
     [self readAttributePrimary5IntensityWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributePrimary6XWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary6XWithCompletion:completionHandler];
+    [self readAttributePrimary6XWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary6XWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83890,7 +90138,10 @@
     }
     [self subscribeAttributePrimary6XWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary6XWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83900,13 +90151,19 @@
     [self readAttributePrimary6XWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary6YWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary6YWithCompletion:completionHandler];
+    [self readAttributePrimary6YWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary6YWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83923,7 +90180,10 @@
     }
     [self subscribeAttributePrimary6YWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributePrimary6YWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -83933,13 +90193,19 @@
     [self readAttributePrimary6YWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributePrimary6IntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePrimary6IntensityWithCompletion:completionHandler];
+    [self readAttributePrimary6IntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePrimary6IntensityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -83958,7 +90224,10 @@
     }
     [self subscribeAttributePrimary6IntensityWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePrimary6IntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -83969,13 +90238,19 @@
     [self readAttributePrimary6IntensityWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeWhitePointXWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWhitePointXWithCompletion:completionHandler];
+    [self readAttributeWhitePointXWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeWhitePointXWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84002,7 +90277,10 @@
     }
     [self subscribeAttributeWhitePointXWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeWhitePointXWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -84013,13 +90291,19 @@
     [self readAttributeWhitePointXWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeWhitePointYWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWhitePointYWithCompletion:completionHandler];
+    [self readAttributeWhitePointYWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeWhitePointYWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84046,7 +90330,10 @@
     }
     [self subscribeAttributeWhitePointYWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeWhitePointYWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -84057,13 +90344,19 @@
     [self readAttributeWhitePointYWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeColorPointRXWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointRXWithCompletion:completionHandler];
+    [self readAttributeColorPointRXWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointRXWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84090,7 +90383,10 @@
     }
     [self subscribeAttributeColorPointRXWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeColorPointRXWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -84101,13 +90397,19 @@
     [self readAttributeColorPointRXWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeColorPointRYWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointRYWithCompletion:completionHandler];
+    [self readAttributeColorPointRYWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointRYWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84134,7 +90436,10 @@
     }
     [self subscribeAttributeColorPointRYWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeColorPointRYWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -84145,13 +90450,19 @@
     [self readAttributeColorPointRYWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeColorPointRIntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointRIntensityWithCompletion:completionHandler];
+    [self readAttributeColorPointRIntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointRIntensityWithValue:(NSNumber * _Nullable)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -84181,7 +90492,10 @@
     }
     [self subscribeAttributeColorPointRIntensityWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeColorPointRIntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -84192,13 +90506,19 @@
     [self readAttributeColorPointRIntensityWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeColorPointGXWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointGXWithCompletion:completionHandler];
+    [self readAttributeColorPointGXWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointGXWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84225,7 +90545,10 @@
     }
     [self subscribeAttributeColorPointGXWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeColorPointGXWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -84236,13 +90559,19 @@
     [self readAttributeColorPointGXWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeColorPointGYWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointGYWithCompletion:completionHandler];
+    [self readAttributeColorPointGYWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointGYWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84269,7 +90598,10 @@
     }
     [self subscribeAttributeColorPointGYWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeColorPointGYWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -84280,13 +90612,19 @@
     [self readAttributeColorPointGYWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeColorPointGIntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointGIntensityWithCompletion:completionHandler];
+    [self readAttributeColorPointGIntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointGIntensityWithValue:(NSNumber * _Nullable)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -84316,7 +90654,10 @@
     }
     [self subscribeAttributeColorPointGIntensityWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeColorPointGIntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -84327,13 +90668,19 @@
     [self readAttributeColorPointGIntensityWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeColorPointBXWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointBXWithCompletion:completionHandler];
+    [self readAttributeColorPointBXWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointBXWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84360,7 +90707,10 @@
     }
     [self subscribeAttributeColorPointBXWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeColorPointBXWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -84371,13 +90721,19 @@
     [self readAttributeColorPointBXWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeColorPointBYWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointBYWithCompletion:completionHandler];
+    [self readAttributeColorPointBYWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointBYWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -84404,7 +90760,10 @@
     }
     [self subscribeAttributeColorPointBYWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeColorPointBYWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -84415,13 +90774,19 @@
     [self readAttributeColorPointBYWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeColorPointBIntensityWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorPointBIntensityWithCompletion:completionHandler];
+    [self readAttributeColorPointBIntensityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeColorPointBIntensityWithValue:(NSNumber * _Nullable)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -84451,7 +90816,10 @@
     }
     [self subscribeAttributeColorPointBIntensityWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeColorPointBIntensityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -84462,13 +90830,19 @@
     [self readAttributeColorPointBIntensityWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeEnhancedCurrentHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnhancedCurrentHueWithCompletion:completionHandler];
+    [self readAttributeEnhancedCurrentHueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeEnhancedCurrentHueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84487,7 +90861,10 @@
     }
     [self subscribeAttributeEnhancedCurrentHueWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeEnhancedCurrentHueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -84498,13 +90875,19 @@
     [self readAttributeEnhancedCurrentHueWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeEnhancedColorModeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnhancedColorModeWithCompletion:completionHandler];
+    [self readAttributeEnhancedColorModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeEnhancedColorModeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84523,7 +90906,10 @@
     }
     [self subscribeAttributeEnhancedColorModeWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeEnhancedColorModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -84534,13 +90920,19 @@
     [self readAttributeEnhancedColorModeWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeColorLoopActiveWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorLoopActiveWithCompletion:completionHandler];
+    [self readAttributeColorLoopActiveWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorLoopActiveWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84558,7 +90950,10 @@
     }
     [self subscribeAttributeColorLoopActiveWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeColorLoopActiveWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -84569,13 +90964,19 @@
     [self readAttributeColorLoopActiveWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeColorLoopDirectionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorLoopDirectionWithCompletion:completionHandler];
+    [self readAttributeColorLoopDirectionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorLoopDirectionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84594,7 +90995,10 @@
     }
     [self subscribeAttributeColorLoopDirectionWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeColorLoopDirectionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -84605,13 +91009,19 @@
     [self readAttributeColorLoopDirectionWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeColorLoopTimeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorLoopTimeWithCompletion:completionHandler];
+    [self readAttributeColorLoopTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorLoopTimeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84629,7 +91039,10 @@
     }
     [self subscribeAttributeColorLoopTimeWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeColorLoopTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -84640,13 +91053,19 @@
     [self readAttributeColorLoopTimeWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeColorLoopStartEnhancedHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorLoopStartEnhancedHueWithCompletion:completionHandler];
+    [self readAttributeColorLoopStartEnhancedHueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorLoopStartEnhancedHueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84665,7 +91084,10 @@
     }
     [self subscribeAttributeColorLoopStartEnhancedHueWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeColorLoopStartEnhancedHueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -84676,13 +91098,19 @@
     [self readAttributeColorLoopStartEnhancedHueWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeColorLoopStoredEnhancedHueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorLoopStoredEnhancedHueWithCompletion:completionHandler];
+    [self readAttributeColorLoopStoredEnhancedHueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorLoopStoredEnhancedHueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84701,7 +91129,10 @@
     }
     [self subscribeAttributeColorLoopStoredEnhancedHueWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeColorLoopStoredEnhancedHueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -84712,13 +91143,19 @@
     [self readAttributeColorLoopStoredEnhancedHueWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeColorCapabilitiesWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorCapabilitiesWithCompletion:completionHandler];
+    [self readAttributeColorCapabilitiesWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorCapabilitiesWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84737,7 +91174,10 @@
     }
     [self subscribeAttributeColorCapabilitiesWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeColorCapabilitiesWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -84748,13 +91188,19 @@
     [self readAttributeColorCapabilitiesWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeColorTempPhysicalMinMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorTempPhysicalMinMiredsWithCompletion:completionHandler];
+    [self readAttributeColorTempPhysicalMinMiredsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorTempPhysicalMinMiredsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84773,7 +91219,10 @@
     }
     [self subscribeAttributeColorTempPhysicalMinMiredsWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeColorTempPhysicalMinMiredsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -84784,13 +91233,19 @@
     [self readAttributeColorTempPhysicalMinMiredsWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeColorTempPhysicalMaxMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeColorTempPhysicalMaxMiredsWithCompletion:completionHandler];
+    [self readAttributeColorTempPhysicalMaxMiredsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeColorTempPhysicalMaxMiredsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84809,7 +91264,10 @@
     }
     [self subscribeAttributeColorTempPhysicalMaxMiredsWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeColorTempPhysicalMaxMiredsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -84820,13 +91278,19 @@
     [self readAttributeColorTempPhysicalMaxMiredsWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeCoupleColorTempToLevelMinMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCoupleColorTempToLevelMinMiredsWithCompletion:completionHandler];
+    [self readAttributeCoupleColorTempToLevelMinMiredsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCoupleColorTempToLevelMinMiredsWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84845,7 +91309,10 @@
     }
     [self subscribeAttributeCoupleColorTempToLevelMinMiredsWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeCoupleColorTempToLevelMinMiredsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -84856,13 +91323,19 @@
     [self readAttributeCoupleColorTempToLevelMinMiredsWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeStartUpColorTemperatureMiredsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStartUpColorTemperatureMiredsWithCompletion:completionHandler];
+    [self readAttributeStartUpColorTemperatureMiredsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeStartUpColorTemperatureMiredsWithValue:(NSNumber * _Nullable)value
                                            completionHandler:(MTRStatusCompletion)completionHandler
@@ -84892,7 +91365,10 @@
     }
     [self subscribeAttributeStartUpColorTemperatureMiredsWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeStartUpColorTemperatureMiredsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -84903,13 +91379,19 @@
     [self readAttributeStartUpColorTemperatureMiredsWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84928,7 +91410,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -84939,13 +91424,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84964,7 +91455,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -84975,13 +91469,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -84998,7 +91498,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -85009,13 +91512,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -85032,7 +91541,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -85042,13 +91554,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -85066,7 +91584,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -85077,7 +91598,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -86842,7 +93366,10 @@
 - (void)readAttributePhysicalMinLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhysicalMinLevelWithCompletion:completionHandler];
+    [self readAttributePhysicalMinLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributePhysicalMinLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -86860,7 +93387,10 @@
     }
     [self subscribeAttributePhysicalMinLevelWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributePhysicalMinLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -86871,13 +93401,19 @@
     [self readAttributePhysicalMinLevelWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributePhysicalMaxLevelWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhysicalMaxLevelWithCompletion:completionHandler];
+    [self readAttributePhysicalMaxLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributePhysicalMaxLevelWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -86895,7 +93431,10 @@
     }
     [self subscribeAttributePhysicalMaxLevelWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributePhysicalMaxLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -86906,13 +93445,19 @@
     [self readAttributePhysicalMaxLevelWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeBallastStatusWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBallastStatusWithCompletion:completionHandler];
+    [self readAttributeBallastStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeBallastStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -86930,7 +93475,10 @@
     }
     [self subscribeAttributeBallastStatusWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeBallastStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -86941,13 +93489,19 @@
     [self readAttributeBallastStatusWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinLevelWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinLevelWithCompletion:completionHandler];
+    [self readAttributeMinLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeMinLevelWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -86974,7 +93528,10 @@
     }
     [self subscribeAttributeMinLevelWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeMinLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -86984,13 +93541,19 @@
     [self readAttributeMinLevelWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeMaxLevelWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxLevelWithCompletion:completionHandler];
+    [self readAttributeMaxLevelWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeMaxLevelWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -87017,7 +93580,10 @@
     }
     [self subscribeAttributeMaxLevelWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeMaxLevelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -87027,13 +93593,19 @@
     [self readAttributeMaxLevelWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeIntrinsicBalanceFactorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeIntrinsicBalanceFactorWithCompletion:completionHandler];
+    [self readAttributeIntrinsicBalanceFactorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSNumber * _Nullable)value
                                     completionHandler:(MTRStatusCompletion)completionHandler
@@ -87063,7 +93635,10 @@
     }
     [self subscribeAttributeIntrinsicBalanceFactorWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeIntrinsicBalanceFactorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -87074,13 +93649,19 @@
     [self readAttributeIntrinsicBalanceFactorWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeBallastFactorAdjustmentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBallastFactorAdjustmentWithCompletion:completionHandler];
+    [self readAttributeBallastFactorAdjustmentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBallastFactorAdjustmentWithValue:(NSNumber * _Nullable)value
                                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -87110,7 +93691,10 @@
     }
     [self subscribeAttributeBallastFactorAdjustmentWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeBallastFactorAdjustmentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -87121,13 +93705,19 @@
     [self readAttributeBallastFactorAdjustmentWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeLampQuantityWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLampQuantityWithCompletion:completionHandler];
+    [self readAttributeLampQuantityWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLampQuantityWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -87144,7 +93734,10 @@
     }
     [self subscribeAttributeLampQuantityWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeLampQuantityWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -87155,13 +93748,19 @@
     [self readAttributeLampQuantityWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeLampTypeWithCompletionHandler:(void (^)(
                                                        NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLampTypeWithCompletion:completionHandler];
+    [self readAttributeLampTypeWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeLampTypeWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -87188,7 +93787,10 @@
     }
     [self subscribeAttributeLampTypeWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSString *>(value), error);
+                                 }];
 }
 + (void)readAttributeLampTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -87198,13 +93800,19 @@
     [self readAttributeLampTypeWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSString *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeLampManufacturerWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLampManufacturerWithCompletion:completionHandler];
+    [self readAttributeLampManufacturerWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeLampManufacturerWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -87232,7 +93840,10 @@
     }
     [self subscribeAttributeLampManufacturerWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 + (void)readAttributeLampManufacturerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -87243,13 +93854,19 @@
     [self readAttributeLampManufacturerWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSString *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeLampRatedHoursWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLampRatedHoursWithCompletion:completionHandler];
+    [self readAttributeLampRatedHoursWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLampRatedHoursWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -87277,7 +93894,10 @@
     }
     [self subscribeAttributeLampRatedHoursWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeLampRatedHoursWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -87288,13 +93908,19 @@
     [self readAttributeLampRatedHoursWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeLampBurnHoursWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLampBurnHoursWithCompletion:completionHandler];
+    [self readAttributeLampBurnHoursWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLampBurnHoursWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -87322,7 +93948,10 @@
     }
     [self subscribeAttributeLampBurnHoursWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeLampBurnHoursWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -87333,13 +93962,19 @@
     [self readAttributeLampBurnHoursWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeLampAlarmModeWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLampAlarmModeWithCompletion:completionHandler];
+    [self readAttributeLampAlarmModeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLampAlarmModeWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -87367,7 +94002,10 @@
     }
     [self subscribeAttributeLampAlarmModeWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeLampAlarmModeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -87378,13 +94016,19 @@
     [self readAttributeLampAlarmModeWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeLampBurnHoursTripPointWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLampBurnHoursTripPointWithCompletion:completionHandler];
+    [self readAttributeLampBurnHoursTripPointWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeLampBurnHoursTripPointWithValue:(NSNumber * _Nullable)value
                                     completionHandler:(MTRStatusCompletion)completionHandler
@@ -87414,7 +94058,10 @@
     }
     [self subscribeAttributeLampBurnHoursTripPointWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeLampBurnHoursTripPointWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -87425,13 +94072,19 @@
     [self readAttributeLampBurnHoursTripPointWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -87450,7 +94103,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -87461,13 +94117,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -87486,7 +94148,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -87497,13 +94162,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -87520,7 +94191,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -87531,13 +94205,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -87554,7 +94234,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -87564,13 +94247,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -87588,7 +94277,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -87599,7 +94291,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -88340,7 +95035,10 @@
 - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88358,7 +95056,10 @@
     }
     [self subscribeAttributeMeasuredValueWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -88369,13 +95070,19 @@
     [self readAttributeMeasuredValueWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMinMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -88393,7 +95100,10 @@
     }
     [self subscribeAttributeMinMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMinMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -88404,13 +95114,19 @@
     [self readAttributeMinMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMaxMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -88428,7 +95144,10 @@
     }
     [self subscribeAttributeMaxMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMaxMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -88439,13 +95158,19 @@
     [self readAttributeMaxMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeToleranceWithCompletion:completionHandler];
+    [self readAttributeToleranceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88462,7 +95187,10 @@
     }
     [self subscribeAttributeToleranceWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeToleranceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -88472,13 +95200,19 @@
     [self readAttributeToleranceWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeLightSensorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLightSensorTypeWithCompletion:completionHandler];
+    [self readAttributeLightSensorTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLightSensorTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88496,7 +95230,10 @@
     }
     [self subscribeAttributeLightSensorTypeWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeLightSensorTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -88507,13 +95244,19 @@
     [self readAttributeLightSensorTypeWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88532,7 +95275,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -88543,13 +95289,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88568,7 +95320,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -88579,13 +95334,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88602,7 +95363,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -88613,13 +95377,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88636,7 +95406,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -88646,13 +95419,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -88670,7 +95449,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -88681,7 +95463,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -89353,7 +96138,10 @@
 - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -89371,7 +96159,10 @@
     }
     [self subscribeAttributeMeasuredValueWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -89382,13 +96173,19 @@
     [self readAttributeMeasuredValueWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMinMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -89406,7 +96203,10 @@
     }
     [self subscribeAttributeMinMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMinMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -89417,13 +96217,19 @@
     [self readAttributeMinMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMaxMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -89441,7 +96247,10 @@
     }
     [self subscribeAttributeMaxMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMaxMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -89452,13 +96261,19 @@
     [self readAttributeMaxMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeToleranceWithCompletion:completionHandler];
+    [self readAttributeToleranceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -89475,7 +96290,10 @@
     }
     [self subscribeAttributeToleranceWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeToleranceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -89485,13 +96303,19 @@
     [self readAttributeToleranceWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -89510,7 +96334,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -89521,13 +96348,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -89546,7 +96379,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -89557,13 +96393,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -89580,7 +96422,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -89591,13 +96436,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -89614,7 +96465,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -89624,13 +96478,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -89648,7 +96508,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -89659,7 +96522,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -90675,7 +97541,10 @@
 - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -90693,7 +97562,10 @@
     }
     [self subscribeAttributeMeasuredValueWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -90704,13 +97576,19 @@
     [self readAttributeMeasuredValueWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMinMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -90728,7 +97606,10 @@
     }
     [self subscribeAttributeMinMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMinMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -90739,13 +97620,19 @@
     [self readAttributeMinMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMaxMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -90763,7 +97650,10 @@
     }
     [self subscribeAttributeMaxMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMaxMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -90774,13 +97664,19 @@
     [self readAttributeMaxMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeToleranceWithCompletion:completionHandler];
+    [self readAttributeToleranceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -90797,7 +97693,10 @@
     }
     [self subscribeAttributeToleranceWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeToleranceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -90807,13 +97706,19 @@
     [self readAttributeToleranceWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeScaledValueWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeScaledValueWithCompletion:completionHandler];
+    [self readAttributeScaledValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeScaledValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -90830,7 +97735,10 @@
     }
     [self subscribeAttributeScaledValueWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeScaledValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -90841,13 +97749,19 @@
     [self readAttributeScaledValueWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeMinScaledValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinScaledValueWithCompletion:completionHandler];
+    [self readAttributeMinScaledValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMinScaledValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -90865,7 +97779,10 @@
     }
     [self subscribeAttributeMinScaledValueWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeMinScaledValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -90876,13 +97793,19 @@
     [self readAttributeMinScaledValueWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeMaxScaledValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxScaledValueWithCompletion:completionHandler];
+    [self readAttributeMaxScaledValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMaxScaledValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -90900,7 +97823,10 @@
     }
     [self subscribeAttributeMaxScaledValueWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeMaxScaledValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -90911,13 +97837,19 @@
     [self readAttributeMaxScaledValueWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeScaledToleranceWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeScaledToleranceWithCompletion:completionHandler];
+    [self readAttributeScaledToleranceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeScaledToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -90935,7 +97867,10 @@
     }
     [self subscribeAttributeScaledToleranceWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeScaledToleranceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -90946,12 +97881,18 @@
     [self readAttributeScaledToleranceWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeScaleWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeScaleWithCompletion:completionHandler];
+    [self readAttributeScaleWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeScaleWithMinInterval:(NSNumber * _Nonnull)minInterval
                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -90968,20 +97909,32 @@
     }
     [self subscribeAttributeScaleWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeScaleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeScaleWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeScaleWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91000,7 +97953,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -91011,13 +97967,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91036,7 +97998,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -91047,13 +98012,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91070,7 +98041,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -91081,13 +98055,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91104,7 +98084,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -91114,13 +98097,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91138,7 +98127,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -91149,7 +98141,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -91820,7 +98815,10 @@
 - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91838,7 +98836,10 @@
     }
     [self subscribeAttributeMeasuredValueWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -91849,13 +98850,19 @@
     [self readAttributeMeasuredValueWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMinMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -91873,7 +98880,10 @@
     }
     [self subscribeAttributeMinMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMinMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -91884,13 +98894,19 @@
     [self readAttributeMinMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMaxMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -91908,7 +98924,10 @@
     }
     [self subscribeAttributeMaxMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMaxMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -91919,13 +98938,19 @@
     [self readAttributeMaxMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeToleranceWithCompletion:completionHandler];
+    [self readAttributeToleranceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91942,7 +98967,10 @@
     }
     [self subscribeAttributeToleranceWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeToleranceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -91952,13 +98980,19 @@
     [self readAttributeToleranceWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -91977,7 +99011,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -91988,13 +99025,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92013,7 +99056,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -92024,13 +99070,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92047,7 +99099,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -92058,13 +99113,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92081,7 +99142,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -92091,13 +99155,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92115,7 +99185,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -92126,7 +99199,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -92800,7 +99876,10 @@
 - (void)readAttributeMeasuredValueWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92818,7 +99897,10 @@
     }
     [self subscribeAttributeMeasuredValueWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -92829,13 +99911,19 @@
     [self readAttributeMeasuredValueWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeMinMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMinMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMinMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMinMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -92853,7 +99941,10 @@
     }
     [self subscribeAttributeMinMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMinMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -92864,13 +99955,19 @@
     [self readAttributeMinMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeMaxMeasuredValueWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMaxMeasuredValueWithCompletion:completionHandler];
+    [self readAttributeMaxMeasuredValueWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeMaxMeasuredValueWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -92888,7 +99985,10 @@
     }
     [self subscribeAttributeMaxMeasuredValueWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeMaxMeasuredValueWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -92899,13 +99999,19 @@
     [self readAttributeMaxMeasuredValueWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeToleranceWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeToleranceWithCompletion:completionHandler];
+    [self readAttributeToleranceWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeToleranceWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92922,7 +100028,10 @@
     }
     [self subscribeAttributeToleranceWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeToleranceWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -92932,13 +100041,19 @@
     [self readAttributeToleranceWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92957,7 +100072,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -92968,13 +100086,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -92993,7 +100117,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -93004,13 +100131,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -93027,7 +100160,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -93038,13 +100174,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -93061,7 +100203,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -93071,13 +100216,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -93095,7 +100246,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -93106,7 +100260,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -94721,7 +101878,10 @@
 - (void)readAttributeOccupancyWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupancyWithCompletion:completionHandler];
+    [self readAttributeOccupancyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOccupancyWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -94738,7 +101898,10 @@
     }
     [self subscribeAttributeOccupancyWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeOccupancyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -94748,13 +101911,19 @@
     [self readAttributeOccupancyWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeOccupancySensorTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupancySensorTypeWithCompletion:completionHandler];
+    [self readAttributeOccupancySensorTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOccupancySensorTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -94773,7 +101942,10 @@
     }
     [self subscribeAttributeOccupancySensorTypeWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeOccupancySensorTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -94784,13 +101956,19 @@
     [self readAttributeOccupancySensorTypeWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeOccupancySensorTypeBitmapWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOccupancySensorTypeBitmapWithCompletion:completionHandler];
+    [self readAttributeOccupancySensorTypeBitmapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOccupancySensorTypeBitmapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -94809,7 +101987,10 @@
     }
     [self subscribeAttributeOccupancySensorTypeBitmapWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeOccupancySensorTypeBitmapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -94820,13 +102001,19 @@
     [self readAttributeOccupancySensorTypeBitmapWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributePirOccupiedToUnoccupiedDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributePirOccupiedToUnoccupiedDelayWithCompletion:completionHandler];
+    [self readAttributePirOccupiedToUnoccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePirOccupiedToUnoccupiedDelayWithValue:(NSNumber * _Nonnull)value
                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -94856,7 +102043,10 @@
     }
     [self subscribeAttributePirOccupiedToUnoccupiedDelayWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributePirOccupiedToUnoccupiedDelayWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -94867,13 +102057,19 @@
     [self readAttributePirOccupiedToUnoccupiedDelayWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributePirUnoccupiedToOccupiedDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributePirUnoccupiedToOccupiedDelayWithCompletion:completionHandler];
+    [self readAttributePirUnoccupiedToOccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePirUnoccupiedToOccupiedDelayWithValue:(NSNumber * _Nonnull)value
                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -94903,7 +102099,10 @@
     }
     [self subscribeAttributePirUnoccupiedToOccupiedDelayWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributePirUnoccupiedToOccupiedDelayWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -94914,13 +102113,19 @@
     [self readAttributePirUnoccupiedToOccupiedDelayWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributePirUnoccupiedToOccupiedThresholdWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributePirUnoccupiedToOccupiedThresholdWithCompletion:completionHandler];
+    [self readAttributePirUnoccupiedToOccupiedThresholdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSNumber * _Nonnull)value
                                               completionHandler:(MTRStatusCompletion)completionHandler
@@ -94950,7 +102155,10 @@
     }
     [self subscribeAttributePirUnoccupiedToOccupiedThresholdWithParams:subscribeParams
                                                subscriptionEstablished:subscriptionEstablishedHandler
-                                                         reportHandler:reportHandler];
+                                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 + (void)readAttributePirUnoccupiedToOccupiedThresholdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                endpoint:(NSNumber *)endpoint
@@ -94961,13 +102169,19 @@
     [self readAttributePirUnoccupiedToOccupiedThresholdWithAttributeCache:attributeCacheContainer
                                                                  endpoint:endpoint
                                                                     queue:queue
-                                                               completion:completionHandler];
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeUltrasonicOccupiedToUnoccupiedDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUltrasonicOccupiedToUnoccupiedDelayWithCompletion:completionHandler];
+    [self readAttributeUltrasonicOccupiedToUnoccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUltrasonicOccupiedToUnoccupiedDelayWithValue:(NSNumber * _Nonnull)value
                                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -94997,7 +102211,10 @@
     }
     [self subscribeAttributeUltrasonicOccupiedToUnoccupiedDelayWithParams:subscribeParams
                                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                                            reportHandler:reportHandler];
+                                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 + (void)readAttributeUltrasonicOccupiedToUnoccupiedDelayWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                   endpoint:(NSNumber *)endpoint
@@ -95008,13 +102225,20 @@
     [self readAttributeUltrasonicOccupiedToUnoccupiedDelayWithAttributeCache:attributeCacheContainer
                                                                     endpoint:endpoint
                                                                        queue:queue
-                                                                  completion:completionHandler];
+                                                                  completion:^(
+                                                                      NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                      // Cast is safe because subclass does not add any selectors.
+                                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                                  }];
 }
 
 - (void)readAttributeUltrasonicUnoccupiedToOccupiedDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUltrasonicUnoccupiedToOccupiedDelayWithCompletion:completionHandler];
+    [self readAttributeUltrasonicUnoccupiedToOccupiedDelayWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUltrasonicUnoccupiedToOccupiedDelayWithValue:(NSNumber * _Nonnull)value
                                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -95044,7 +102268,10 @@
     }
     [self subscribeAttributeUltrasonicUnoccupiedToOccupiedDelayWithParams:subscribeParams
                                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                                            reportHandler:reportHandler];
+                                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 + (void)readAttributeUltrasonicUnoccupiedToOccupiedDelayWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                   endpoint:(NSNumber *)endpoint
@@ -95055,13 +102282,21 @@
     [self readAttributeUltrasonicUnoccupiedToOccupiedDelayWithAttributeCache:attributeCacheContainer
                                                                     endpoint:endpoint
                                                                        queue:queue
-                                                                  completion:completionHandler];
+                                                                  completion:^(
+                                                                      NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                      // Cast is safe because subclass does not add any selectors.
+                                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                                  }];
 }
 
 - (void)readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithCompletion:completionHandler];
+    [self readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUltrasonicUnoccupiedToOccupiedThresholdWithValue:(NSNumber * _Nonnull)value
                                                      completionHandler:(MTRStatusCompletion)completionHandler
@@ -95091,7 +102326,11 @@
     }
     [self subscribeAttributeUltrasonicUnoccupiedToOccupiedThresholdWithParams:subscribeParams
                                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                                reportHandler:reportHandler];
+                                                                reportHandler:^(
+                                                                    NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                    // Cast is safe because subclass does not add any selectors.
+                                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                                }];
 }
 + (void)readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                       endpoint:(NSNumber *)endpoint
@@ -95102,13 +102341,22 @@
     [self readAttributeUltrasonicUnoccupiedToOccupiedThresholdWithAttributeCache:attributeCacheContainer
                                                                         endpoint:endpoint
                                                                            queue:queue
-                                                                      completion:completionHandler];
+                                                                      completion:^(
+                                                                          NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                          // Cast is safe because subclass does not add any
+                                                                          // selectors.
+                                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                                      }];
 }
 
 - (void)readAttributePhysicalContactOccupiedToUnoccupiedDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhysicalContactOccupiedToUnoccupiedDelayWithCompletion:completionHandler];
+    [self readAttributePhysicalContactOccupiedToUnoccupiedDelayWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePhysicalContactOccupiedToUnoccupiedDelayWithValue:(NSNumber * _Nonnull)value
                                                       completionHandler:(MTRStatusCompletion)completionHandler
@@ -95138,7 +102386,11 @@
     }
     [self subscribeAttributePhysicalContactOccupiedToUnoccupiedDelayWithParams:subscribeParams
                                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                                 reportHandler:reportHandler];
+                                                                 reportHandler:^(
+                                                                     NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                     // Cast is safe because subclass does not add any selectors.
+                                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                                 }];
 }
 + (void)readAttributePhysicalContactOccupiedToUnoccupiedDelayWithAttributeCache:
             (MTRAttributeCacheContainer *)attributeCacheContainer
@@ -95150,13 +102402,22 @@
     [self readAttributePhysicalContactOccupiedToUnoccupiedDelayWithAttributeCache:attributeCacheContainer
                                                                          endpoint:endpoint
                                                                             queue:queue
-                                                                       completion:completionHandler];
+                                                                       completion:^(
+                                                                           NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                           // Cast is safe because subclass does not add any
+                                                                           // selectors.
+                                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                                       }];
 }
 
 - (void)readAttributePhysicalContactUnoccupiedToOccupiedDelayWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhysicalContactUnoccupiedToOccupiedDelayWithCompletion:completionHandler];
+    [self readAttributePhysicalContactUnoccupiedToOccupiedDelayWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePhysicalContactUnoccupiedToOccupiedDelayWithValue:(NSNumber * _Nonnull)value
                                                       completionHandler:(MTRStatusCompletion)completionHandler
@@ -95186,7 +102447,11 @@
     }
     [self subscribeAttributePhysicalContactUnoccupiedToOccupiedDelayWithParams:subscribeParams
                                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                                 reportHandler:reportHandler];
+                                                                 reportHandler:^(
+                                                                     NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                     // Cast is safe because subclass does not add any selectors.
+                                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                                 }];
 }
 + (void)readAttributePhysicalContactUnoccupiedToOccupiedDelayWithAttributeCache:
             (MTRAttributeCacheContainer *)attributeCacheContainer
@@ -95198,13 +102463,22 @@
     [self readAttributePhysicalContactUnoccupiedToOccupiedDelayWithAttributeCache:attributeCacheContainer
                                                                          endpoint:endpoint
                                                                             queue:queue
-                                                                       completion:completionHandler];
+                                                                       completion:^(
+                                                                           NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                           // Cast is safe because subclass does not add any
+                                                                           // selectors.
+                                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                                       }];
 }
 
 - (void)readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithCompletionHandler:
     (void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithCompletion:completionHandler];
+    [self readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributePhysicalContactUnoccupiedToOccupiedThresholdWithValue:(NSNumber * _Nonnull)value
                                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -95234,7 +102508,12 @@
     }
     [self subscribeAttributePhysicalContactUnoccupiedToOccupiedThresholdWithParams:subscribeParams
                                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                                     reportHandler:reportHandler];
+                                                                     reportHandler:^(
+                                                                         NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                         // Cast is safe because subclass does not add any
+                                                                         // selectors.
+                                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                                     }];
 }
 + (void)readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithAttributeCache:
             (MTRAttributeCacheContainer *)attributeCacheContainer
@@ -95246,13 +102525,22 @@
     [self readAttributePhysicalContactUnoccupiedToOccupiedThresholdWithAttributeCache:attributeCacheContainer
                                                                              endpoint:endpoint
                                                                                 queue:queue
-                                                                           completion:completionHandler];
+                                                                           completion:^(NSNumber * _Nullable value,
+                                                                               NSError * _Nullable error) {
+                                                                               // Cast is safe because subclass does not add any
+                                                                               // selectors.
+                                                                               completionHandler(
+                                                                                   static_cast<NSNumber *>(value), error);
+                                                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95271,7 +102559,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -95282,13 +102573,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95307,7 +102604,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -95318,13 +102618,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95341,7 +102647,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -95352,13 +102661,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95375,7 +102690,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -95385,13 +102703,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95409,7 +102733,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -95420,7 +102747,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -95879,7 +103209,10 @@
 - (void)readAttributeMACAddressWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMACAddressWithCompletion:completionHandler];
+    [self readAttributeMACAddressWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMACAddressWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95896,7 +103229,10 @@
     }
     [self subscribeAttributeMACAddressWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeMACAddressWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -95906,13 +103242,19 @@
     [self readAttributeMACAddressWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95931,7 +103273,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -95942,13 +103287,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -95967,7 +103318,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -95978,13 +103332,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96001,7 +103361,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -96012,13 +103375,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96035,7 +103404,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -96045,13 +103417,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96069,7 +103447,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -96080,7 +103461,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -96764,7 +104148,11 @@
               completionHandler:(void (^)(MTRChannelClusterChangeChannelResponseParams * _Nullable data,
                                     NSError * _Nullable error))completionHandler
 {
-    [self changeChannelWithParams:params completion:completionHandler];
+    [self changeChannelWithParams:params
+                       completion:^(MTRChannelClusterChangeChannelResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRChannelClusterChangeChannelResponseParams *>(data), error);
+                       }];
 }
 - (void)changeChannelByNumberWithParams:(MTRChannelClusterChangeChannelByNumberParams *)params
                       completionHandler:(MTRStatusCompletion)completionHandler
@@ -96779,7 +104167,10 @@
 - (void)readAttributeChannelListWithCompletionHandler:(void (^)(
                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeChannelListWithCompletion:completionHandler];
+    [self readAttributeChannelListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeChannelListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96796,7 +104187,10 @@
     }
     [self subscribeAttributeChannelListWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSArray *>(value), error);
+                                    }];
 }
 + (void)readAttributeChannelListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -96806,13 +104200,19 @@
     [self readAttributeChannelListWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeLineupWithCompletionHandler:(void (^)(MTRChannelClusterLineupInfo * _Nullable value,
                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLineupWithCompletion:completionHandler];
+    [self readAttributeLineupWithCompletion:^(MTRChannelClusterLineupInfo * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRChannelClusterLineupInfo *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLineupWithMinInterval:(NSNumber * _Nonnull)minInterval
                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96830,7 +104230,10 @@
     }
     [self subscribeAttributeLineupWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(MTRChannelClusterLineupInfo * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<MTRChannelClusterLineupInfo *>(value), error);
+                               }];
 }
 + (void)readAttributeLineupWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
@@ -96838,13 +104241,22 @@
                             completionHandler:(void (^)(MTRChannelClusterLineupInfo * _Nullable value,
                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLineupWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeLineupWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(MTRChannelClusterLineupInfo * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<MTRChannelClusterLineupInfo *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeCurrentChannelWithCompletionHandler:(void (^)(MTRChannelClusterChannelInfo * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentChannelWithCompletion:completionHandler];
+    [self readAttributeCurrentChannelWithCompletion:^(MTRChannelClusterChannelInfo * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRChannelClusterChannelInfo *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentChannelWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96862,7 +104274,10 @@
     }
     [self subscribeAttributeCurrentChannelWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(MTRChannelClusterChannelInfo * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<MTRChannelClusterChannelInfo *>(value), error);
+                                       }];
 }
 + (void)readAttributeCurrentChannelWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -96870,16 +104285,23 @@
                                     completionHandler:(void (^)(MTRChannelClusterChannelInfo * _Nullable value,
                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentChannelWithAttributeCache:attributeCacheContainer
-                                               endpoint:endpoint
-                                                  queue:queue
-                                             completion:completionHandler];
+    [self
+        readAttributeCurrentChannelWithAttributeCache:attributeCacheContainer
+                                             endpoint:endpoint
+                                                queue:queue
+                                           completion:^(MTRChannelClusterChannelInfo * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<MTRChannelClusterChannelInfo *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96898,7 +104320,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -96909,13 +104334,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96934,7 +104365,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -96945,13 +104379,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -96968,7 +104408,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -96979,13 +104422,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97002,7 +104451,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -97012,13 +104464,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97036,7 +104494,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -97047,7 +104508,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -97612,13 +105076,21 @@
                completionHandler:(void (^)(MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler
 {
-    [self navigateTargetWithParams:params completion:completionHandler];
+    [self navigateTargetWithParams:params
+                        completion:^(
+                            MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data, NSError * _Nullable error) {
+                            // Cast is safe because subclass does not add any selectors.
+                            completionHandler(static_cast<MTRTargetNavigatorClusterNavigateTargetResponseParams *>(data), error);
+                        }];
 }
 
 - (void)readAttributeTargetListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTargetListWithCompletion:completionHandler];
+    [self readAttributeTargetListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTargetListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97635,7 +105107,10 @@
     }
     [self subscribeAttributeTargetListWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSArray *>(value), error);
+                                   }];
 }
 + (void)readAttributeTargetListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -97645,13 +105120,19 @@
     [self readAttributeTargetListWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeCurrentTargetWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentTargetWithCompletion:completionHandler];
+    [self readAttributeCurrentTargetWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentTargetWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97669,7 +105150,10 @@
     }
     [self subscribeAttributeCurrentTargetWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeCurrentTargetWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -97680,13 +105164,19 @@
     [self readAttributeCurrentTargetWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97705,7 +105195,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -97716,13 +105209,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97741,7 +105240,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -97752,13 +105254,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97775,7 +105283,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -97786,13 +105297,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97809,7 +105326,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -97819,13 +105339,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -97843,7 +105369,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -97854,7 +105383,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -99058,113 +106590,160 @@
      completionHandler:
          (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self playWithParams:params completion:completionHandler];
+    [self playWithParams:params
+              completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                  // Cast is safe because subclass does not add any selectors.
+                  completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+              }];
 }
 - (void)playWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler
 {
-    [self playWithParams:nil completion:completionHandler];
+    [self playWithParams:nil completionHandler:completionHandler];
 }
 - (void)pauseWithParams:(MTRMediaPlaybackClusterPauseParams * _Nullable)params
       completionHandler:
           (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self pauseWithParams:params completion:completionHandler];
+    [self pauseWithParams:params
+               completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                   // Cast is safe because subclass does not add any selectors.
+                   completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+               }];
 }
 - (void)pauseWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
-    [self pauseWithParams:nil completion:completionHandler];
+    [self pauseWithParams:nil completionHandler:completionHandler];
 }
 - (void)stopPlaybackWithParams:(MTRMediaPlaybackClusterStopPlaybackParams * _Nullable)params
              completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
-    [self stopPlaybackWithParams:params completion:completionHandler];
+    [self stopPlaybackWithParams:params
+                      completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                      }];
 }
 - (void)stopPlaybackWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
 {
-    [self stopPlaybackWithParams:nil completion:completionHandler];
+    [self stopPlaybackWithParams:nil completionHandler:completionHandler];
 }
 - (void)startOverWithParams:(MTRMediaPlaybackClusterStartOverParams * _Nullable)params
           completionHandler:
               (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self startOverWithParams:params completion:completionHandler];
+    [self startOverWithParams:params
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 - (void)startOverWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
 {
-    [self startOverWithParams:nil completion:completionHandler];
+    [self startOverWithParams:nil completionHandler:completionHandler];
 }
 - (void)previousWithParams:(MTRMediaPlaybackClusterPreviousParams * _Nullable)params
          completionHandler:
              (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self previousWithParams:params completion:completionHandler];
+    [self previousWithParams:params
+                  completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                      // Cast is safe because subclass does not add any selectors.
+                      completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                  }];
 }
 - (void)previousWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler
 {
-    [self previousWithParams:nil completion:completionHandler];
+    [self previousWithParams:nil completionHandler:completionHandler];
 }
 - (void)nextWithParams:(MTRMediaPlaybackClusterNextParams * _Nullable)params
      completionHandler:
          (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self nextWithParams:params completion:completionHandler];
+    [self nextWithParams:params
+              completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                  // Cast is safe because subclass does not add any selectors.
+                  completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+              }];
 }
 - (void)nextWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler
 {
-    [self nextWithParams:nil completion:completionHandler];
+    [self nextWithParams:nil completionHandler:completionHandler];
 }
 - (void)rewindWithParams:(MTRMediaPlaybackClusterRewindParams * _Nullable)params
        completionHandler:
            (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self rewindWithParams:params completion:completionHandler];
+    [self rewindWithParams:params
+                completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                    // Cast is safe because subclass does not add any selectors.
+                    completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                }];
 }
 - (void)rewindWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler
 {
-    [self rewindWithParams:nil completion:completionHandler];
+    [self rewindWithParams:nil completionHandler:completionHandler];
 }
 - (void)fastForwardWithParams:(MTRMediaPlaybackClusterFastForwardParams * _Nullable)params
             completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                   NSError * _Nullable error))completionHandler
 {
-    [self fastForwardWithParams:params completion:completionHandler];
+    [self fastForwardWithParams:params
+                     completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                     }];
 }
 - (void)fastForwardWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                              NSError * _Nullable error))completionHandler
 {
-    [self fastForwardWithParams:nil completion:completionHandler];
+    [self fastForwardWithParams:nil completionHandler:completionHandler];
 }
 - (void)skipForwardWithParams:(MTRMediaPlaybackClusterSkipForwardParams *)params
             completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                   NSError * _Nullable error))completionHandler
 {
-    [self skipForwardWithParams:params completion:completionHandler];
+    [self skipForwardWithParams:params
+                     completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                     }];
 }
 - (void)skipBackwardWithParams:(MTRMediaPlaybackClusterSkipBackwardParams *)params
              completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
-    [self skipBackwardWithParams:params completion:completionHandler];
+    [self skipBackwardWithParams:params
+                      completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                      }];
 }
 - (void)seekWithParams:(MTRMediaPlaybackClusterSeekParams *)params
      completionHandler:
          (void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self seekWithParams:params completion:completionHandler];
+    [self seekWithParams:params
+              completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                  // Cast is safe because subclass does not add any selectors.
+                  completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+              }];
 }
 
 - (void)readAttributeCurrentStateWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentStateWithCompletion:completionHandler];
+    [self readAttributeCurrentStateWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentStateWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99181,7 +106760,10 @@
     }
     [self subscribeAttributeCurrentStateWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeCurrentStateWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -99192,13 +106774,19 @@
     [self readAttributeCurrentStateWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeStartTimeWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStartTimeWithCompletion:completionHandler];
+    [self readAttributeStartTimeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStartTimeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99215,7 +106803,10 @@
     }
     [self subscribeAttributeStartTimeWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeStartTimeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -99225,13 +106816,19 @@
     [self readAttributeStartTimeWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeDurationWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDurationWithCompletion:completionHandler];
+    [self readAttributeDurationWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDurationWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99248,7 +106845,10 @@
     }
     [self subscribeAttributeDurationWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeDurationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -99258,13 +106858,20 @@
     [self readAttributeDurationWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeSampledPositionWithCompletionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackPosition * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSampledPositionWithCompletion:completionHandler];
+    [self readAttributeSampledPositionWithCompletion:^(
+        MTRMediaPlaybackClusterPlaybackPosition * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackPosition *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSampledPositionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99282,7 +106889,11 @@
     }
     [self subscribeAttributeSampledPositionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(
+                                            MTRMediaPlaybackClusterPlaybackPosition * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<MTRMediaPlaybackClusterPlaybackPosition *>(value), error);
+                                        }];
 }
 + (void)readAttributeSampledPositionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -99293,13 +106904,21 @@
     [self readAttributeSampledPositionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(MTRMediaPlaybackClusterPlaybackPosition * _Nullable value,
+                                                  NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(
+                                                      static_cast<MTRMediaPlaybackClusterPlaybackPosition *>(value), error);
+                                              }];
 }
 
 - (void)readAttributePlaybackSpeedWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePlaybackSpeedWithCompletion:completionHandler];
+    [self readAttributePlaybackSpeedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePlaybackSpeedWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99317,7 +106936,10 @@
     }
     [self subscribeAttributePlaybackSpeedWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributePlaybackSpeedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -99328,13 +106950,19 @@
     [self readAttributePlaybackSpeedWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeSeekRangeEndWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSeekRangeEndWithCompletion:completionHandler];
+    [self readAttributeSeekRangeEndWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSeekRangeEndWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99351,7 +106979,10 @@
     }
     [self subscribeAttributeSeekRangeEndWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeSeekRangeEndWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -99362,13 +106993,19 @@
     [self readAttributeSeekRangeEndWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeSeekRangeStartWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSeekRangeStartWithCompletion:completionHandler];
+    [self readAttributeSeekRangeStartWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeSeekRangeStartWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99386,7 +107023,10 @@
     }
     [self subscribeAttributeSeekRangeStartWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeSeekRangeStartWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -99397,13 +107037,19 @@
     [self readAttributeSeekRangeStartWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99422,7 +107068,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -99433,13 +107082,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99458,7 +107113,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -99469,13 +107127,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99492,7 +107156,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -99503,13 +107170,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99526,7 +107199,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -99536,13 +107212,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -99560,7 +107242,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -99571,7 +107256,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -100226,7 +107914,7 @@
 }
 - (void)showInputStatusWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self showInputStatusWithParams:nil completion:completionHandler];
+    [self showInputStatusWithParams:nil completionHandler:completionHandler];
 }
 - (void)hideInputStatusWithParams:(MTRMediaInputClusterHideInputStatusParams * _Nullable)params
                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -100235,7 +107923,7 @@
 }
 - (void)hideInputStatusWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self hideInputStatusWithParams:nil completion:completionHandler];
+    [self hideInputStatusWithParams:nil completionHandler:completionHandler];
 }
 - (void)renameInputWithParams:(MTRMediaInputClusterRenameInputParams *)params
             completionHandler:(MTRStatusCompletion)completionHandler
@@ -100246,7 +107934,10 @@
 - (void)readAttributeInputListWithCompletionHandler:(void (^)(
                                                         NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInputListWithCompletion:completionHandler];
+    [self readAttributeInputListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInputListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100263,7 +107954,10 @@
     }
     [self subscribeAttributeInputListWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 + (void)readAttributeInputListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -100273,13 +107967,19 @@
     [self readAttributeInputListWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeCurrentInputWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentInputWithCompletion:completionHandler];
+    [self readAttributeCurrentInputWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentInputWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100296,7 +107996,10 @@
     }
     [self subscribeAttributeCurrentInputWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeCurrentInputWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -100307,13 +108010,19 @@
     [self readAttributeCurrentInputWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100332,7 +108041,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -100343,13 +108055,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100368,7 +108086,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -100379,13 +108100,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100402,7 +108129,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -100413,13 +108143,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100436,7 +108172,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -100446,13 +108185,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100470,7 +108215,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -100481,7 +108229,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -100904,13 +108655,16 @@
 }
 - (void)sleepWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self sleepWithParams:nil completion:completionHandler];
+    [self sleepWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100929,7 +108683,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -100940,13 +108697,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100965,7 +108728,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -100976,13 +108742,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -100999,7 +108771,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -101010,13 +108785,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -101033,7 +108814,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -101043,13 +108827,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -101067,7 +108857,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -101078,7 +108871,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -101494,13 +109290,20 @@
         completionHandler:
             (void (^)(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self sendKeyWithParams:params completion:completionHandler];
+    [self sendKeyWithParams:params
+                 completion:^(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error) {
+                     // Cast is safe because subclass does not add any selectors.
+                     completionHandler(static_cast<MTRKeypadInputClusterSendKeyResponseParams *>(data), error);
+                 }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -101519,7 +109322,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -101530,13 +109336,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -101555,7 +109367,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -101566,13 +109381,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -101589,7 +109410,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -101600,13 +109424,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -101623,7 +109453,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -101633,13 +109466,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -101657,7 +109496,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -101668,7 +109510,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -102452,19 +110297,30 @@
               completionHandler:(void (^)(MTRContentLauncherClusterLaunchResponseParams * _Nullable data,
                                     NSError * _Nullable error))completionHandler
 {
-    [self launchContentWithParams:params completion:completionHandler];
+    [self launchContentWithParams:params
+                       completion:^(MTRContentLauncherClusterLaunchResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRContentLauncherClusterLaunchResponseParams *>(data), error);
+                       }];
 }
 - (void)launchURLWithParams:(MTRContentLauncherClusterLaunchURLParams *)params
           completionHandler:
               (void (^)(MTRContentLauncherClusterLaunchResponseParams * _Nullable data, NSError * _Nullable error))completionHandler
 {
-    [self launchURLWithParams:params completion:completionHandler];
+    [self launchURLWithParams:params
+                   completion:^(MTRContentLauncherClusterLaunchResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRContentLauncherClusterLaunchResponseParams *>(data), error);
+                   }];
 }
 
 - (void)readAttributeAcceptHeaderWithCompletionHandler:(void (^)(
                                                            NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptHeaderWithCompletion:completionHandler];
+    [self readAttributeAcceptHeaderWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptHeaderWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -102481,7 +110337,10 @@
     }
     [self subscribeAttributeAcceptHeaderWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSArray *>(value), error);
+                                     }];
 }
 + (void)readAttributeAcceptHeaderWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -102492,13 +110351,19 @@
     [self readAttributeAcceptHeaderWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSArray *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeSupportedStreamingProtocolsWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeSupportedStreamingProtocolsWithCompletion:completionHandler];
+    [self readAttributeSupportedStreamingProtocolsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeSupportedStreamingProtocolsWithValue:(NSNumber * _Nonnull)value
                                          completionHandler:(MTRStatusCompletion)completionHandler
@@ -102528,7 +110393,10 @@
     }
     [self subscribeAttributeSupportedStreamingProtocolsWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeSupportedStreamingProtocolsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -102539,13 +110407,19 @@
     [self readAttributeSupportedStreamingProtocolsWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -102564,7 +110438,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -102575,13 +110452,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -102600,7 +110483,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -102611,13 +110497,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -102634,7 +110526,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -102645,13 +110540,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -102668,7 +110569,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -102678,13 +110582,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -102702,7 +110612,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -102713,7 +110626,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -103308,7 +111224,10 @@
 - (void)readAttributeOutputListWithCompletionHandler:(void (^)(
                                                          NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOutputListWithCompletion:completionHandler];
+    [self readAttributeOutputListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeOutputListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -103325,7 +111244,10 @@
     }
     [self subscribeAttributeOutputListWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSArray *>(value), error);
+                                   }];
 }
 + (void)readAttributeOutputListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -103335,13 +111257,19 @@
     [self readAttributeOutputListWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeCurrentOutputWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentOutputWithCompletion:completionHandler];
+    [self readAttributeCurrentOutputWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentOutputWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -103359,7 +111287,10 @@
     }
     [self subscribeAttributeCurrentOutputWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeCurrentOutputWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -103370,13 +111301,19 @@
     [self readAttributeCurrentOutputWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -103395,7 +111332,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -103406,13 +111346,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -103431,7 +111377,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -103442,13 +111391,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -103465,7 +111420,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -103476,13 +111434,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -103499,7 +111463,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -103509,13 +111476,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -103533,7 +111506,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -103544,7 +111520,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -104224,25 +112203,40 @@
           completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
                                 NSError * _Nullable error))completionHandler
 {
-    [self launchAppWithParams:params completion:completionHandler];
+    [self launchAppWithParams:params
+                   completion:^(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRApplicationLauncherClusterLauncherResponseParams *>(data), error);
+                   }];
 }
 - (void)stopAppWithParams:(MTRApplicationLauncherClusterStopAppParams *)params
         completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
                               NSError * _Nullable error))completionHandler
 {
-    [self stopAppWithParams:params completion:completionHandler];
+    [self stopAppWithParams:params
+                 completion:^(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error) {
+                     // Cast is safe because subclass does not add any selectors.
+                     completionHandler(static_cast<MTRApplicationLauncherClusterLauncherResponseParams *>(data), error);
+                 }];
 }
 - (void)hideAppWithParams:(MTRApplicationLauncherClusterHideAppParams *)params
         completionHandler:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data,
                               NSError * _Nullable error))completionHandler
 {
-    [self hideAppWithParams:params completion:completionHandler];
+    [self hideAppWithParams:params
+                 completion:^(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error) {
+                     // Cast is safe because subclass does not add any selectors.
+                     completionHandler(static_cast<MTRApplicationLauncherClusterLauncherResponseParams *>(data), error);
+                 }];
 }
 
 - (void)readAttributeCatalogListWithCompletionHandler:(void (^)(
                                                           NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCatalogListWithCompletion:completionHandler];
+    [self readAttributeCatalogListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCatalogListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -104259,7 +112253,10 @@
     }
     [self subscribeAttributeCatalogListWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSArray *>(value), error);
+                                    }];
 }
 + (void)readAttributeCatalogListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -104269,13 +112266,20 @@
     [self readAttributeCatalogListWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeCurrentAppWithCompletionHandler:(void (^)(MTRApplicationLauncherClusterApplicationEP * _Nullable value,
                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentAppWithCompletion:completionHandler];
+    [self readAttributeCurrentAppWithCompletion:^(
+        MTRApplicationLauncherClusterApplicationEP * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRApplicationLauncherClusterApplicationEP *>(value), error);
+    }];
 }
 - (void)writeAttributeCurrentAppWithValue:(MTRApplicationLauncherClusterApplicationEP * _Nullable)value
                         completionHandler:(MTRStatusCompletion)completionHandler
@@ -104304,7 +112308,11 @@
     }
     [self subscribeAttributeCurrentAppWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(
+                                       MTRApplicationLauncherClusterApplicationEP * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<MTRApplicationLauncherClusterApplicationEP *>(value), error);
+                                   }];
 }
 + (void)readAttributeCurrentAppWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -104315,13 +112323,21 @@
     [self readAttributeCurrentAppWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(MTRApplicationLauncherClusterApplicationEP * _Nullable value,
+                                             NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(
+                                                 static_cast<MTRApplicationLauncherClusterApplicationEP *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -104340,7 +112356,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -104351,13 +112370,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -104376,7 +112401,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -104387,13 +112415,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -104410,7 +112444,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -104421,13 +112458,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -104444,7 +112487,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -104454,13 +112500,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -104478,7 +112530,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -104489,7 +112544,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -105455,7 +113513,10 @@
 - (void)readAttributeVendorNameWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVendorNameWithCompletion:completionHandler];
+    [self readAttributeVendorNameWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeVendorNameWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105472,7 +113533,10 @@
     }
     [self subscribeAttributeVendorNameWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeVendorNameWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -105482,13 +113546,19 @@
     [self readAttributeVendorNameWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeVendorIDWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVendorIDWithCompletion:completionHandler];
+    [self readAttributeVendorIDWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeVendorIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105505,7 +113575,10 @@
     }
     [self subscribeAttributeVendorIDWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeVendorIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -105515,13 +113588,19 @@
     [self readAttributeVendorIDWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeApplicationNameWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApplicationNameWithCompletion:completionHandler];
+    [self readAttributeApplicationNameWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeApplicationNameWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105539,7 +113618,10 @@
     }
     [self subscribeAttributeApplicationNameWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSString *>(value), error);
+                                        }];
 }
 + (void)readAttributeApplicationNameWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -105550,13 +113632,19 @@
     [self readAttributeApplicationNameWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSString *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeProductIDWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeProductIDWithCompletion:completionHandler];
+    [self readAttributeProductIDWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeProductIDWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105573,7 +113661,10 @@
     }
     [self subscribeAttributeProductIDWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeProductIDWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -105583,13 +113674,20 @@
     [self readAttributeProductIDWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeApplicationWithCompletionHandler:
     (void (^)(MTRApplicationBasicClusterApplicationBasicApplication * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApplicationWithCompletion:completionHandler];
+    [self readAttributeApplicationWithCompletion:^(
+        MTRApplicationBasicClusterApplicationBasicApplication * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRApplicationBasicClusterApplicationBasicApplication *>(value), error);
+    }];
 }
 - (void)subscribeAttributeApplicationWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105608,7 +113706,12 @@
     }
     [self subscribeAttributeApplicationWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(MTRApplicationBasicClusterApplicationBasicApplication * _Nullable value,
+                                        NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(
+                                            static_cast<MTRApplicationBasicClusterApplicationBasicApplication *>(value), error);
+                                    }];
 }
 + (void)readAttributeApplicationWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -105617,15 +113720,24 @@
                                      (void (^)(MTRApplicationBasicClusterApplicationBasicApplication * _Nullable value,
                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApplicationWithAttributeCache:attributeCacheContainer
-                                            endpoint:endpoint
-                                               queue:queue
-                                          completion:completionHandler];
+    [self
+        readAttributeApplicationWithAttributeCache:attributeCacheContainer
+                                          endpoint:endpoint
+                                             queue:queue
+                                        completion:^(MTRApplicationBasicClusterApplicationBasicApplication * _Nullable value,
+                                            NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(
+                                                static_cast<MTRApplicationBasicClusterApplicationBasicApplication *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeStatusWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStatusWithCompletion:completionHandler];
+    [self readAttributeStatusWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeStatusWithMinInterval:(NSNumber * _Nonnull)minInterval
                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105642,20 +113754,32 @@
     }
     [self subscribeAttributeStatusWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeStatusWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStatusWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeStatusWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeApplicationVersionWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApplicationVersionWithCompletion:completionHandler];
+    [self readAttributeApplicationVersionWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)subscribeAttributeApplicationVersionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105674,7 +113798,10 @@
     }
     [self subscribeAttributeApplicationVersionWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 + (void)readAttributeApplicationVersionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -105685,13 +113812,19 @@
     [self readAttributeApplicationVersionWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSString *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeAllowedVendorListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAllowedVendorListWithCompletion:completionHandler];
+    [self readAttributeAllowedVendorListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeAllowedVendorListWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -105709,7 +113842,10 @@
     }
     [self subscribeAttributeAllowedVendorListWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSArray *>(value), error);
+                                          }];
 }
 + (void)readAttributeAllowedVendorListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -105720,13 +113856,19 @@
     [self readAttributeAllowedVendorListWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSArray *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105745,7 +113887,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -105756,13 +113901,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105781,7 +113932,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -105792,13 +113946,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105815,7 +113975,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -105826,13 +113989,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105849,7 +114018,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -105859,13 +114031,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -105883,7 +114061,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -105894,7 +114075,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -106378,7 +114562,11 @@
             completionHandler:(void (^)(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data,
                                   NSError * _Nullable error))completionHandler
 {
-    [self getSetupPINWithParams:params completion:completionHandler];
+    [self getSetupPINWithParams:params
+                     completion:^(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRAccountLoginClusterGetSetupPINResponseParams *>(data), error);
+                     }];
 }
 - (void)loginWithParams:(MTRAccountLoginClusterLoginParams *)params completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -106391,13 +114579,16 @@
 }
 - (void)logoutWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self logoutWithParams:nil completion:completionHandler];
+    [self logoutWithParams:nil completionHandler:completionHandler];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -106416,7 +114607,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -106427,13 +114621,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -106452,7 +114652,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -106463,13 +114666,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -106486,7 +114695,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -106497,13 +114709,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -106520,7 +114738,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -106530,13 +114751,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -106554,7 +114781,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -106565,7 +114795,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -116366,7 +124599,7 @@
 }
 - (void)getProfileInfoCommandWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self getProfileInfoCommandWithParams:nil completion:completionHandler];
+    [self getProfileInfoCommandWithParams:nil completionHandler:completionHandler];
 }
 - (void)getMeasurementProfileCommandWithParams:(MTRElectricalMeasurementClusterGetMeasurementProfileCommandParams *)params
                              completionHandler:(MTRStatusCompletion)completionHandler
@@ -116377,7 +124610,10 @@
 - (void)readAttributeMeasurementTypeWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasurementTypeWithCompletion:completionHandler];
+    [self readAttributeMeasurementTypeWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasurementTypeWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116395,7 +124631,10 @@
     }
     [self subscribeAttributeMeasurementTypeWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeMeasurementTypeWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -116406,13 +124645,19 @@
     [self readAttributeMeasurementTypeWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeDcVoltageWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcVoltageWithCompletion:completionHandler];
+    [self readAttributeDcVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116429,7 +124674,10 @@
     }
     [self subscribeAttributeDcVoltageWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeDcVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -116439,13 +124687,19 @@
     [self readAttributeDcVoltageWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeDcVoltageMinWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcVoltageMinWithCompletion:completionHandler];
+    [self readAttributeDcVoltageMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcVoltageMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116462,7 +124716,10 @@
     }
     [self subscribeAttributeDcVoltageMinWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeDcVoltageMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -116473,13 +124730,19 @@
     [self readAttributeDcVoltageMinWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeDcVoltageMaxWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcVoltageMaxWithCompletion:completionHandler];
+    [self readAttributeDcVoltageMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcVoltageMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116496,7 +124759,10 @@
     }
     [self subscribeAttributeDcVoltageMaxWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeDcVoltageMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -116507,13 +124773,19 @@
     [self readAttributeDcVoltageMaxWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeDcCurrentWithCompletionHandler:(void (^)(
                                                         NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcCurrentWithCompletion:completionHandler];
+    [self readAttributeDcCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116530,7 +124802,10 @@
     }
     [self subscribeAttributeDcCurrentWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                  }];
 }
 + (void)readAttributeDcCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -116540,13 +124815,19 @@
     [self readAttributeDcCurrentWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeDcCurrentMinWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcCurrentMinWithCompletion:completionHandler];
+    [self readAttributeDcCurrentMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcCurrentMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116563,7 +124844,10 @@
     }
     [self subscribeAttributeDcCurrentMinWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeDcCurrentMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -116574,13 +124858,19 @@
     [self readAttributeDcCurrentMinWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeDcCurrentMaxWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcCurrentMaxWithCompletion:completionHandler];
+    [self readAttributeDcCurrentMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcCurrentMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116597,7 +124887,10 @@
     }
     [self subscribeAttributeDcCurrentMaxWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributeDcCurrentMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -116608,12 +124901,18 @@
     [self readAttributeDcCurrentMaxWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeDcPowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcPowerWithCompletion:completionHandler];
+    [self readAttributeDcPowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcPowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116630,7 +124929,10 @@
     }
     [self subscribeAttributeDcPowerWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeDcPowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -116640,13 +124942,19 @@
     [self readAttributeDcPowerWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeDcPowerMinWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcPowerMinWithCompletion:completionHandler];
+    [self readAttributeDcPowerMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcPowerMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116663,7 +124971,10 @@
     }
     [self subscribeAttributeDcPowerMinWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeDcPowerMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -116673,13 +124984,19 @@
     [self readAttributeDcPowerMinWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeDcPowerMaxWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcPowerMaxWithCompletion:completionHandler];
+    [self readAttributeDcPowerMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcPowerMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116696,7 +125013,10 @@
     }
     [self subscribeAttributeDcPowerMaxWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeDcPowerMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -116706,13 +125026,19 @@
     [self readAttributeDcPowerMaxWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeDcVoltageMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcVoltageMultiplierWithCompletion:completionHandler];
+    [self readAttributeDcVoltageMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcVoltageMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116731,7 +125057,10 @@
     }
     [self subscribeAttributeDcVoltageMultiplierWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeDcVoltageMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -116742,13 +125071,19 @@
     [self readAttributeDcVoltageMultiplierWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeDcVoltageDivisorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcVoltageDivisorWithCompletion:completionHandler];
+    [self readAttributeDcVoltageDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeDcVoltageDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -116766,7 +125101,10 @@
     }
     [self subscribeAttributeDcVoltageDivisorWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeDcVoltageDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -116777,13 +125115,19 @@
     [self readAttributeDcVoltageDivisorWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeDcCurrentMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcCurrentMultiplierWithCompletion:completionHandler];
+    [self readAttributeDcCurrentMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcCurrentMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116802,7 +125146,10 @@
     }
     [self subscribeAttributeDcCurrentMultiplierWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeDcCurrentMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -116813,13 +125160,19 @@
     [self readAttributeDcCurrentMultiplierWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeDcCurrentDivisorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcCurrentDivisorWithCompletion:completionHandler];
+    [self readAttributeDcCurrentDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeDcCurrentDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -116837,7 +125190,10 @@
     }
     [self subscribeAttributeDcCurrentDivisorWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeDcCurrentDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -116848,13 +125204,19 @@
     [self readAttributeDcCurrentDivisorWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeDcPowerMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcPowerMultiplierWithCompletion:completionHandler];
+    [self readAttributeDcPowerMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcPowerMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116873,7 +125235,10 @@
     }
     [self subscribeAttributeDcPowerMultiplierWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeDcPowerMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -116884,13 +125249,19 @@
     [self readAttributeDcPowerMultiplierWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeDcPowerDivisorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeDcPowerDivisorWithCompletion:completionHandler];
+    [self readAttributeDcPowerDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeDcPowerDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116908,7 +125279,10 @@
     }
     [self subscribeAttributeDcPowerDivisorWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeDcPowerDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -116919,13 +125293,19 @@
     [self readAttributeDcPowerDivisorWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeAcFrequencyWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcFrequencyWithCompletion:completionHandler];
+    [self readAttributeAcFrequencyWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcFrequencyWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116942,7 +125322,10 @@
     }
     [self subscribeAttributeAcFrequencyWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeAcFrequencyWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -116953,13 +125336,19 @@
     [self readAttributeAcFrequencyWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeAcFrequencyMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcFrequencyMinWithCompletion:completionHandler];
+    [self readAttributeAcFrequencyMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcFrequencyMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -116977,7 +125366,10 @@
     }
     [self subscribeAttributeAcFrequencyMinWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeAcFrequencyMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -116988,13 +125380,19 @@
     [self readAttributeAcFrequencyMinWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeAcFrequencyMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcFrequencyMaxWithCompletion:completionHandler];
+    [self readAttributeAcFrequencyMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcFrequencyMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117012,7 +125410,10 @@
     }
     [self subscribeAttributeAcFrequencyMaxWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeAcFrequencyMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -117023,13 +125424,19 @@
     [self readAttributeAcFrequencyMaxWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNeutralCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNeutralCurrentWithCompletion:completionHandler];
+    [self readAttributeNeutralCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeNeutralCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117047,7 +125454,10 @@
     }
     [self subscribeAttributeNeutralCurrentWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNeutralCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -117058,13 +125468,19 @@
     [self readAttributeNeutralCurrentWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeTotalActivePowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTotalActivePowerWithCompletion:completionHandler];
+    [self readAttributeTotalActivePowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeTotalActivePowerWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -117082,7 +125498,10 @@
     }
     [self subscribeAttributeTotalActivePowerWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeTotalActivePowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -117093,13 +125512,19 @@
     [self readAttributeTotalActivePowerWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeTotalReactivePowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTotalReactivePowerWithCompletion:completionHandler];
+    [self readAttributeTotalReactivePowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTotalReactivePowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117118,7 +125543,10 @@
     }
     [self subscribeAttributeTotalReactivePowerWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeTotalReactivePowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -117129,13 +125557,19 @@
     [self readAttributeTotalReactivePowerWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeTotalApparentPowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTotalApparentPowerWithCompletion:completionHandler];
+    [self readAttributeTotalApparentPowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeTotalApparentPowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117154,7 +125588,10 @@
     }
     [self subscribeAttributeTotalApparentPowerWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeTotalApparentPowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -117165,13 +125602,19 @@
     [self readAttributeTotalApparentPowerWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeMeasured1stHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasured1stHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasured1stHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasured1stHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117190,7 +125633,10 @@
     }
     [self subscribeAttributeMeasured1stHarmonicCurrentWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeMeasured1stHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -117201,13 +125647,19 @@
     [self readAttributeMeasured1stHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeMeasured3rdHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasured3rdHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasured3rdHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasured3rdHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117226,7 +125678,10 @@
     }
     [self subscribeAttributeMeasured3rdHarmonicCurrentWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeMeasured3rdHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -117237,13 +125692,19 @@
     [self readAttributeMeasured3rdHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeMeasured5thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasured5thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasured5thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasured5thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117262,7 +125723,10 @@
     }
     [self subscribeAttributeMeasured5thHarmonicCurrentWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeMeasured5thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -117273,13 +125737,19 @@
     [self readAttributeMeasured5thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeMeasured7thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasured7thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasured7thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasured7thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117298,7 +125768,10 @@
     }
     [self subscribeAttributeMeasured7thHarmonicCurrentWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeMeasured7thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -117309,13 +125782,19 @@
     [self readAttributeMeasured7thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeMeasured9thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasured9thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasured9thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasured9thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117334,7 +125813,10 @@
     }
     [self subscribeAttributeMeasured9thHarmonicCurrentWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeMeasured9thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -117345,13 +125827,19 @@
     [self readAttributeMeasured9thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeMeasured11thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasured11thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasured11thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasured11thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117370,7 +125858,10 @@
     }
     [self subscribeAttributeMeasured11thHarmonicCurrentWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeMeasured11thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -117381,13 +125872,19 @@
     [self readAttributeMeasured11thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeMeasuredPhase1stHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredPhase1stHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasuredPhase1stHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredPhase1stHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117406,7 +125903,10 @@
     }
     [self subscribeAttributeMeasuredPhase1stHarmonicCurrentWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeMeasuredPhase1stHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -117417,13 +125917,19 @@
     [self readAttributeMeasuredPhase1stHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeMeasuredPhase3rdHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredPhase3rdHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasuredPhase3rdHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredPhase3rdHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117442,7 +125948,10 @@
     }
     [self subscribeAttributeMeasuredPhase3rdHarmonicCurrentWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeMeasuredPhase3rdHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -117453,13 +125962,19 @@
     [self readAttributeMeasuredPhase3rdHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeMeasuredPhase5thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredPhase5thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasuredPhase5thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredPhase5thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117478,7 +125993,10 @@
     }
     [self subscribeAttributeMeasuredPhase5thHarmonicCurrentWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeMeasuredPhase5thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -117489,13 +126007,19 @@
     [self readAttributeMeasuredPhase5thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeMeasuredPhase7thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredPhase7thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasuredPhase7thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredPhase7thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117514,7 +126038,10 @@
     }
     [self subscribeAttributeMeasuredPhase7thHarmonicCurrentWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeMeasuredPhase7thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -117525,13 +126052,19 @@
     [self readAttributeMeasuredPhase7thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeMeasuredPhase9thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredPhase9thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasuredPhase9thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredPhase9thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117550,7 +126083,10 @@
     }
     [self subscribeAttributeMeasuredPhase9thHarmonicCurrentWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 + (void)readAttributeMeasuredPhase9thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -117561,13 +126097,19 @@
     [self readAttributeMeasuredPhase9thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeMeasuredPhase11thHarmonicCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeMeasuredPhase11thHarmonicCurrentWithCompletion:completionHandler];
+    [self readAttributeMeasuredPhase11thHarmonicCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeMeasuredPhase11thHarmonicCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                               maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117586,7 +126128,10 @@
     }
     [self subscribeAttributeMeasuredPhase11thHarmonicCurrentWithParams:subscribeParams
                                                subscriptionEstablished:subscriptionEstablishedHandler
-                                                         reportHandler:reportHandler];
+                                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 + (void)readAttributeMeasuredPhase11thHarmonicCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                endpoint:(NSNumber *)endpoint
@@ -117597,13 +126142,19 @@
     [self readAttributeMeasuredPhase11thHarmonicCurrentWithAttributeCache:attributeCacheContainer
                                                                  endpoint:endpoint
                                                                     queue:queue
-                                                               completion:completionHandler];
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeAcFrequencyMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcFrequencyMultiplierWithCompletion:completionHandler];
+    [self readAttributeAcFrequencyMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcFrequencyMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117622,7 +126173,10 @@
     }
     [self subscribeAttributeAcFrequencyMultiplierWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeAcFrequencyMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -117633,13 +126187,19 @@
     [self readAttributeAcFrequencyMultiplierWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeAcFrequencyDivisorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcFrequencyDivisorWithCompletion:completionHandler];
+    [self readAttributeAcFrequencyDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcFrequencyDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117658,7 +126218,10 @@
     }
     [self subscribeAttributeAcFrequencyDivisorWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeAcFrequencyDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -117669,13 +126232,19 @@
     [self readAttributeAcFrequencyDivisorWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributePowerMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributePowerMultiplierWithCompletion:completionHandler];
+    [self readAttributePowerMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePowerMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117693,7 +126262,10 @@
     }
     [self subscribeAttributePowerMultiplierWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributePowerMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -117704,13 +126276,19 @@
     [self readAttributePowerMultiplierWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributePowerDivisorWithCompletionHandler:(void (^)(
                                                            NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePowerDivisorWithCompletion:completionHandler];
+    [self readAttributePowerDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePowerDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117727,7 +126305,10 @@
     }
     [self subscribeAttributePowerDivisorWithParams:subscribeParams
                            subscriptionEstablished:subscriptionEstablishedHandler
-                                     reportHandler:reportHandler];
+                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 + (void)readAttributePowerDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                            endpoint:(NSNumber *)endpoint
@@ -117738,13 +126319,19 @@
     [self readAttributePowerDivisorWithAttributeCache:attributeCacheContainer
                                              endpoint:endpoint
                                                 queue:queue
-                                           completion:completionHandler];
+                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 
 - (void)readAttributeHarmonicCurrentMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeHarmonicCurrentMultiplierWithCompletion:completionHandler];
+    [self readAttributeHarmonicCurrentMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeHarmonicCurrentMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117763,7 +126350,10 @@
     }
     [self subscribeAttributeHarmonicCurrentMultiplierWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeHarmonicCurrentMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -117774,13 +126364,19 @@
     [self readAttributeHarmonicCurrentMultiplierWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributePhaseHarmonicCurrentMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributePhaseHarmonicCurrentMultiplierWithCompletion:completionHandler];
+    [self readAttributePhaseHarmonicCurrentMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePhaseHarmonicCurrentMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117799,7 +126395,10 @@
     }
     [self subscribeAttributePhaseHarmonicCurrentMultiplierWithParams:subscribeParams
                                              subscriptionEstablished:subscriptionEstablishedHandler
-                                                       reportHandler:reportHandler];
+                                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 + (void)readAttributePhaseHarmonicCurrentMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                              endpoint:(NSNumber *)endpoint
@@ -117810,13 +126409,19 @@
     [self readAttributePhaseHarmonicCurrentMultiplierWithAttributeCache:attributeCacheContainer
                                                                endpoint:endpoint
                                                                   queue:queue
-                                                             completion:completionHandler];
+                                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                 // Cast is safe because subclass does not add any selectors.
+                                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                                             }];
 }
 
 - (void)readAttributeInstantaneousVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstantaneousVoltageWithCompletion:completionHandler];
+    [self readAttributeInstantaneousVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstantaneousVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117835,7 +126440,10 @@
     }
     [self subscribeAttributeInstantaneousVoltageWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeInstantaneousVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -117846,13 +126454,19 @@
     [self readAttributeInstantaneousVoltageWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeInstantaneousLineCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstantaneousLineCurrentWithCompletion:completionHandler];
+    [self readAttributeInstantaneousLineCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstantaneousLineCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117871,7 +126485,10 @@
     }
     [self subscribeAttributeInstantaneousLineCurrentWithParams:subscribeParams
                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                 reportHandler:reportHandler];
+                                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 + (void)readAttributeInstantaneousLineCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                        endpoint:(NSNumber *)endpoint
@@ -117882,13 +126499,19 @@
     [self readAttributeInstantaneousLineCurrentWithAttributeCache:attributeCacheContainer
                                                          endpoint:endpoint
                                                             queue:queue
-                                                       completion:completionHandler];
+                                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                           // Cast is safe because subclass does not add any selectors.
+                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                       }];
 }
 
 - (void)readAttributeInstantaneousActiveCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstantaneousActiveCurrentWithCompletion:completionHandler];
+    [self readAttributeInstantaneousActiveCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstantaneousActiveCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117907,7 +126530,10 @@
     }
     [self subscribeAttributeInstantaneousActiveCurrentWithParams:subscribeParams
                                          subscriptionEstablished:subscriptionEstablishedHandler
-                                                   reportHandler:reportHandler];
+                                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 + (void)readAttributeInstantaneousActiveCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                          endpoint:(NSNumber *)endpoint
@@ -117918,13 +126544,19 @@
     [self readAttributeInstantaneousActiveCurrentWithAttributeCache:attributeCacheContainer
                                                            endpoint:endpoint
                                                               queue:queue
-                                                         completion:completionHandler];
+                                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                             // Cast is safe because subclass does not add any selectors.
+                                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                                         }];
 }
 
 - (void)readAttributeInstantaneousReactiveCurrentWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstantaneousReactiveCurrentWithCompletion:completionHandler];
+    [self readAttributeInstantaneousReactiveCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstantaneousReactiveCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                           maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117943,7 +126575,10 @@
     }
     [self subscribeAttributeInstantaneousReactiveCurrentWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeInstantaneousReactiveCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -117954,13 +126589,19 @@
     [self readAttributeInstantaneousReactiveCurrentWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeInstantaneousPowerWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInstantaneousPowerWithCompletion:completionHandler];
+    [self readAttributeInstantaneousPowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeInstantaneousPowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -117979,7 +126620,10 @@
     }
     [self subscribeAttributeInstantaneousPowerWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeInstantaneousPowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -117990,13 +126634,19 @@
     [self readAttributeInstantaneousPowerWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeRmsVoltageWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118013,7 +126663,10 @@
     }
     [self subscribeAttributeRmsVoltageWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeRmsVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -118023,13 +126676,19 @@
     [self readAttributeRmsVoltageWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeRmsVoltageMinWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageMinWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118047,7 +126706,10 @@
     }
     [self subscribeAttributeRmsVoltageMinWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRmsVoltageMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -118058,13 +126720,19 @@
     [self readAttributeRmsVoltageMinWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRmsVoltageMaxWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageMaxWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118082,7 +126750,10 @@
     }
     [self subscribeAttributeRmsVoltageMaxWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRmsVoltageMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -118093,13 +126764,19 @@
     [self readAttributeRmsVoltageMaxWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRmsCurrentWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsCurrentWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118116,7 +126793,10 @@
     }
     [self subscribeAttributeRmsCurrentWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeRmsCurrentWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -118126,13 +126806,19 @@
     [self readAttributeRmsCurrentWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeRmsCurrentMinWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentMinWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsCurrentMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118150,7 +126836,10 @@
     }
     [self subscribeAttributeRmsCurrentMinWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRmsCurrentMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -118161,13 +126850,19 @@
     [self readAttributeRmsCurrentMinWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRmsCurrentMaxWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentMaxWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsCurrentMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118185,7 +126880,10 @@
     }
     [self subscribeAttributeRmsCurrentMaxWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRmsCurrentMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -118196,13 +126894,19 @@
     [self readAttributeRmsCurrentMaxWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeActivePowerWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerWithCompletion:completionHandler];
+    [self readAttributeActivePowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118219,7 +126923,10 @@
     }
     [self subscribeAttributeActivePowerWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeActivePowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -118230,13 +126937,19 @@
     [self readAttributeActivePowerWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeActivePowerMinWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerMinWithCompletion:completionHandler];
+    [self readAttributeActivePowerMinWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerMinWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118254,7 +126967,10 @@
     }
     [self subscribeAttributeActivePowerMinWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeActivePowerMinWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -118265,13 +126981,19 @@
     [self readAttributeActivePowerMinWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeActivePowerMaxWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerMaxWithCompletion:completionHandler];
+    [self readAttributeActivePowerMaxWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerMaxWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118289,7 +127011,10 @@
     }
     [self subscribeAttributeActivePowerMaxWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeActivePowerMaxWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -118300,13 +127025,19 @@
     [self readAttributeActivePowerMaxWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeReactivePowerWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReactivePowerWithCompletion:completionHandler];
+    [self readAttributeReactivePowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeReactivePowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118324,7 +127055,10 @@
     }
     [self subscribeAttributeReactivePowerWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeReactivePowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -118335,13 +127069,19 @@
     [self readAttributeReactivePowerWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeApparentPowerWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApparentPowerWithCompletion:completionHandler];
+    [self readAttributeApparentPowerWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeApparentPowerWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118359,7 +127099,10 @@
     }
     [self subscribeAttributeApparentPowerWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeApparentPowerWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -118370,13 +127113,19 @@
     [self readAttributeApparentPowerWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributePowerFactorWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributePowerFactorWithCompletion:completionHandler];
+    [self readAttributePowerFactorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePowerFactorWithMinInterval:(NSNumber * _Nonnull)minInterval
                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118393,7 +127142,10 @@
     }
     [self subscribeAttributePowerFactorWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributePowerFactorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -118404,13 +127156,19 @@
     [self readAttributePowerFactorWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeAverageRmsVoltageMeasurementPeriodWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsVoltageMeasurementPeriodWithCompletion:completionHandler];
+    [self readAttributeAverageRmsVoltageMeasurementPeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeAverageRmsVoltageMeasurementPeriodWithValue:(NSNumber * _Nonnull)value
                                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -118440,7 +127198,10 @@
     }
     [self subscribeAttributeAverageRmsVoltageMeasurementPeriodWithParams:subscribeParams
                                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                                           reportHandler:reportHandler];
+                                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 + (void)readAttributeAverageRmsVoltageMeasurementPeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                  endpoint:(NSNumber *)endpoint
@@ -118448,16 +127209,23 @@
                                                         completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsVoltageMeasurementPeriodWithAttributeCache:attributeCacheContainer
-                                                                   endpoint:endpoint
-                                                                      queue:queue
-                                                                 completion:completionHandler];
+    [self
+        readAttributeAverageRmsVoltageMeasurementPeriodWithAttributeCache:attributeCacheContainer
+                                                                 endpoint:endpoint
+                                                                    queue:queue
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeAverageRmsUnderVoltageCounterWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsUnderVoltageCounterWithCompletion:completionHandler];
+    [self readAttributeAverageRmsUnderVoltageCounterWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeAverageRmsUnderVoltageCounterWithValue:(NSNumber * _Nonnull)value
                                            completionHandler:(MTRStatusCompletion)completionHandler
@@ -118487,7 +127255,10 @@
     }
     [self subscribeAttributeAverageRmsUnderVoltageCounterWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeAverageRmsUnderVoltageCounterWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -118498,13 +127269,19 @@
     [self readAttributeAverageRmsUnderVoltageCounterWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeRmsExtremeOverVoltagePeriodWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeOverVoltagePeriodWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeOverVoltagePeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRmsExtremeOverVoltagePeriodWithValue:(NSNumber * _Nonnull)value
                                          completionHandler:(MTRStatusCompletion)completionHandler
@@ -118534,7 +127311,10 @@
     }
     [self subscribeAttributeRmsExtremeOverVoltagePeriodWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeRmsExtremeOverVoltagePeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -118545,13 +127325,19 @@
     [self readAttributeRmsExtremeOverVoltagePeriodWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeRmsExtremeUnderVoltagePeriodWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeUnderVoltagePeriodWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeUnderVoltagePeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRmsExtremeUnderVoltagePeriodWithValue:(NSNumber * _Nonnull)value
                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -118581,7 +127367,10 @@
     }
     [self subscribeAttributeRmsExtremeUnderVoltagePeriodWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeRmsExtremeUnderVoltagePeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -118592,13 +127381,19 @@
     [self readAttributeRmsExtremeUnderVoltagePeriodWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeRmsVoltageSagPeriodWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSagPeriodWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSagPeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRmsVoltageSagPeriodWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -118628,7 +127423,10 @@
     }
     [self subscribeAttributeRmsVoltageSagPeriodWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsVoltageSagPeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -118639,13 +127437,19 @@
     [self readAttributeRmsVoltageSagPeriodWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRmsVoltageSwellPeriodWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSwellPeriodWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSwellPeriodWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRmsVoltageSwellPeriodWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -118675,7 +127479,10 @@
     }
     [self subscribeAttributeRmsVoltageSwellPeriodWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeRmsVoltageSwellPeriodWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -118686,13 +127493,19 @@
     [self readAttributeRmsVoltageSwellPeriodWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeAcVoltageMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcVoltageMultiplierWithCompletion:completionHandler];
+    [self readAttributeAcVoltageMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcVoltageMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118711,7 +127524,10 @@
     }
     [self subscribeAttributeAcVoltageMultiplierWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcVoltageMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -118722,13 +127538,19 @@
     [self readAttributeAcVoltageMultiplierWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAcVoltageDivisorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcVoltageDivisorWithCompletion:completionHandler];
+    [self readAttributeAcVoltageDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeAcVoltageDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -118746,7 +127568,10 @@
     }
     [self subscribeAttributeAcVoltageDivisorWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeAcVoltageDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -118757,13 +127582,19 @@
     [self readAttributeAcVoltageDivisorWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeAcCurrentMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcCurrentMultiplierWithCompletion:completionHandler];
+    [self readAttributeAcCurrentMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcCurrentMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118782,7 +127613,10 @@
     }
     [self subscribeAttributeAcCurrentMultiplierWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcCurrentMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -118793,13 +127627,19 @@
     [self readAttributeAcCurrentMultiplierWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAcCurrentDivisorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcCurrentDivisorWithCompletion:completionHandler];
+    [self readAttributeAcCurrentDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeAcCurrentDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -118817,7 +127657,10 @@
     }
     [self subscribeAttributeAcCurrentDivisorWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeAcCurrentDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -118828,13 +127671,19 @@
     [self readAttributeAcCurrentDivisorWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeAcPowerMultiplierWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcPowerMultiplierWithCompletion:completionHandler];
+    [self readAttributeAcPowerMultiplierWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcPowerMultiplierWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118853,7 +127702,10 @@
     }
     [self subscribeAttributeAcPowerMultiplierWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeAcPowerMultiplierWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -118864,13 +127716,19 @@
     [self readAttributeAcPowerMultiplierWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeAcPowerDivisorWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcPowerDivisorWithCompletion:completionHandler];
+    [self readAttributeAcPowerDivisorWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcPowerDivisorWithMinInterval:(NSNumber * _Nonnull)minInterval
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118888,7 +127746,10 @@
     }
     [self subscribeAttributeAcPowerDivisorWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeAcPowerDivisorWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -118899,13 +127760,19 @@
     [self readAttributeAcPowerDivisorWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeOverloadAlarmsMaskWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOverloadAlarmsMaskWithCompletion:completionHandler];
+    [self readAttributeOverloadAlarmsMaskWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeOverloadAlarmsMaskWithValue:(NSNumber * _Nonnull)value
                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -118935,7 +127802,10 @@
     }
     [self subscribeAttributeOverloadAlarmsMaskWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                           }];
 }
 + (void)readAttributeOverloadAlarmsMaskWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -118946,13 +127816,19 @@
     [self readAttributeOverloadAlarmsMaskWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSNumber *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeVoltageOverloadWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVoltageOverloadWithCompletion:completionHandler];
+    [self readAttributeVoltageOverloadWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeVoltageOverloadWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -118970,7 +127846,10 @@
     }
     [self subscribeAttributeVoltageOverloadWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeVoltageOverloadWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -118981,13 +127860,19 @@
     [self readAttributeVoltageOverloadWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeCurrentOverloadWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCurrentOverloadWithCompletion:completionHandler];
+    [self readAttributeCurrentOverloadWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeCurrentOverloadWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119005,7 +127890,10 @@
     }
     [self subscribeAttributeCurrentOverloadWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeCurrentOverloadWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -119016,13 +127904,19 @@
     [self readAttributeCurrentOverloadWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeAcOverloadAlarmsMaskWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcOverloadAlarmsMaskWithCompletion:completionHandler];
+    [self readAttributeAcOverloadAlarmsMaskWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeAcOverloadAlarmsMaskWithValue:(NSNumber * _Nonnull)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -119052,7 +127946,10 @@
     }
     [self subscribeAttributeAcOverloadAlarmsMaskWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeAcOverloadAlarmsMaskWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -119063,13 +127960,19 @@
     [self readAttributeAcOverloadAlarmsMaskWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcVoltageOverloadWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcVoltageOverloadWithCompletion:completionHandler];
+    [self readAttributeAcVoltageOverloadWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcVoltageOverloadWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119088,7 +127991,10 @@
     }
     [self subscribeAttributeAcVoltageOverloadWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeAcVoltageOverloadWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -119099,13 +128005,19 @@
     [self readAttributeAcVoltageOverloadWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeAcCurrentOverloadWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcCurrentOverloadWithCompletion:completionHandler];
+    [self readAttributeAcCurrentOverloadWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcCurrentOverloadWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119124,7 +128036,10 @@
     }
     [self subscribeAttributeAcCurrentOverloadWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeAcCurrentOverloadWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -119135,13 +128050,19 @@
     [self readAttributeAcCurrentOverloadWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeAcActivePowerOverloadWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcActivePowerOverloadWithCompletion:completionHandler];
+    [self readAttributeAcActivePowerOverloadWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcActivePowerOverloadWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119160,7 +128081,10 @@
     }
     [self subscribeAttributeAcActivePowerOverloadWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeAcActivePowerOverloadWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -119171,13 +128095,19 @@
     [self readAttributeAcActivePowerOverloadWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeAcReactivePowerOverloadWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                       NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcReactivePowerOverloadWithCompletion:completionHandler];
+    [self readAttributeAcReactivePowerOverloadWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcReactivePowerOverloadWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                      maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119196,7 +128126,10 @@
     }
     [self subscribeAttributeAcReactivePowerOverloadWithParams:subscribeParams
                                       subscriptionEstablished:subscriptionEstablishedHandler
-                                                reportHandler:reportHandler];
+                                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 + (void)readAttributeAcReactivePowerOverloadWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                       endpoint:(NSNumber *)endpoint
@@ -119207,13 +128140,19 @@
     [self readAttributeAcReactivePowerOverloadWithAttributeCache:attributeCacheContainer
                                                         endpoint:endpoint
                                                            queue:queue
-                                                      completion:completionHandler];
+                                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 
 - (void)readAttributeAverageRmsOverVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsOverVoltageWithCompletion:completionHandler];
+    [self readAttributeAverageRmsOverVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsOverVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119232,7 +128171,10 @@
     }
     [self subscribeAttributeAverageRmsOverVoltageWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeAverageRmsOverVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -119243,13 +128185,19 @@
     [self readAttributeAverageRmsOverVoltageWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeAverageRmsUnderVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsUnderVoltageWithCompletion:completionHandler];
+    [self readAttributeAverageRmsUnderVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsUnderVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119268,7 +128216,10 @@
     }
     [self subscribeAttributeAverageRmsUnderVoltageWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeAverageRmsUnderVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -119279,13 +128230,19 @@
     [self readAttributeAverageRmsUnderVoltageWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeRmsExtremeOverVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeOverVoltageWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeOverVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsExtremeOverVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119304,7 +128261,10 @@
     }
     [self subscribeAttributeRmsExtremeOverVoltageWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeRmsExtremeOverVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -119315,13 +128275,19 @@
     [self readAttributeRmsExtremeOverVoltageWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeRmsExtremeUnderVoltageWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                      NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeUnderVoltageWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeUnderVoltageWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsExtremeUnderVoltageWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                     maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119340,7 +128306,10 @@
     }
     [self subscribeAttributeRmsExtremeUnderVoltageWithParams:subscribeParams
                                      subscriptionEstablished:subscriptionEstablishedHandler
-                                               reportHandler:reportHandler];
+                                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   reportHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 + (void)readAttributeRmsExtremeUnderVoltageWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                      endpoint:(NSNumber *)endpoint
@@ -119351,13 +128320,19 @@
     [self readAttributeRmsExtremeUnderVoltageWithAttributeCache:attributeCacheContainer
                                                        endpoint:endpoint
                                                           queue:queue
-                                                     completion:completionHandler];
+                                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 
 - (void)readAttributeRmsVoltageSagWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSagWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSagWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageSagWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119375,7 +128350,10 @@
     }
     [self subscribeAttributeRmsVoltageSagWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeRmsVoltageSagWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -119386,13 +128364,19 @@
     [self readAttributeRmsVoltageSagWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeRmsVoltageSwellWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSwellWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSwellWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageSwellWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119410,7 +128394,10 @@
     }
     [self subscribeAttributeRmsVoltageSwellWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeRmsVoltageSwellWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -119421,13 +128408,19 @@
     [self readAttributeRmsVoltageSwellWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeLineCurrentPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLineCurrentPhaseBWithCompletion:completionHandler];
+    [self readAttributeLineCurrentPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLineCurrentPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119446,7 +128439,10 @@
     }
     [self subscribeAttributeLineCurrentPhaseBWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeLineCurrentPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -119457,13 +128453,19 @@
     [self readAttributeLineCurrentPhaseBWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeActiveCurrentPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveCurrentPhaseBWithCompletion:completionHandler];
+    [self readAttributeActiveCurrentPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveCurrentPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119482,7 +128484,10 @@
     }
     [self subscribeAttributeActiveCurrentPhaseBWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeActiveCurrentPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -119493,13 +128498,19 @@
     [self readAttributeActiveCurrentPhaseBWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeReactiveCurrentPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReactiveCurrentPhaseBWithCompletion:completionHandler];
+    [self readAttributeReactiveCurrentPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeReactiveCurrentPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119518,7 +128529,10 @@
     }
     [self subscribeAttributeReactiveCurrentPhaseBWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeReactiveCurrentPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -119529,13 +128543,19 @@
     [self readAttributeReactiveCurrentPhaseBWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeRmsVoltagePhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltagePhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsVoltagePhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeRmsVoltagePhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -119553,7 +128573,10 @@
     }
     [self subscribeAttributeRmsVoltagePhaseBWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeRmsVoltagePhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -119564,13 +128587,19 @@
     [self readAttributeRmsVoltagePhaseBWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeRmsVoltageMinPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageMinPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageMinPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageMinPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119589,7 +128618,10 @@
     }
     [self subscribeAttributeRmsVoltageMinPhaseBWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsVoltageMinPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -119600,13 +128632,19 @@
     [self readAttributeRmsVoltageMinPhaseBWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRmsVoltageMaxPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageMaxPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageMaxPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageMaxPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119625,7 +128663,10 @@
     }
     [self subscribeAttributeRmsVoltageMaxPhaseBWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsVoltageMaxPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -119636,13 +128677,19 @@
     [self readAttributeRmsVoltageMaxPhaseBWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRmsCurrentPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeRmsCurrentPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -119660,7 +128707,10 @@
     }
     [self subscribeAttributeRmsCurrentPhaseBWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeRmsCurrentPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -119671,13 +128721,19 @@
     [self readAttributeRmsCurrentPhaseBWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeRmsCurrentMinPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentMinPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentMinPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsCurrentMinPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119696,7 +128752,10 @@
     }
     [self subscribeAttributeRmsCurrentMinPhaseBWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsCurrentMinPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -119707,13 +128766,19 @@
     [self readAttributeRmsCurrentMinPhaseBWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRmsCurrentMaxPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentMaxPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentMaxPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsCurrentMaxPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119732,7 +128797,10 @@
     }
     [self subscribeAttributeRmsCurrentMaxPhaseBWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsCurrentMaxPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -119743,13 +128811,19 @@
     [self readAttributeRmsCurrentMaxPhaseBWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeActivePowerPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerPhaseBWithCompletion:completionHandler];
+    [self readAttributeActivePowerPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119768,7 +128842,10 @@
     }
     [self subscribeAttributeActivePowerPhaseBWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeActivePowerPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -119779,13 +128856,19 @@
     [self readAttributeActivePowerPhaseBWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeActivePowerMinPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerMinPhaseBWithCompletion:completionHandler];
+    [self readAttributeActivePowerMinPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerMinPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119804,7 +128887,10 @@
     }
     [self subscribeAttributeActivePowerMinPhaseBWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeActivePowerMinPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -119815,13 +128901,19 @@
     [self readAttributeActivePowerMinPhaseBWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeActivePowerMaxPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerMaxPhaseBWithCompletion:completionHandler];
+    [self readAttributeActivePowerMaxPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerMaxPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119840,7 +128932,10 @@
     }
     [self subscribeAttributeActivePowerMaxPhaseBWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeActivePowerMaxPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -119851,13 +128946,19 @@
     [self readAttributeActivePowerMaxPhaseBWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeReactivePowerPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReactivePowerPhaseBWithCompletion:completionHandler];
+    [self readAttributeReactivePowerPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeReactivePowerPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119876,7 +128977,10 @@
     }
     [self subscribeAttributeReactivePowerPhaseBWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeReactivePowerPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -119887,13 +128991,19 @@
     [self readAttributeReactivePowerPhaseBWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeApparentPowerPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApparentPowerPhaseBWithCompletion:completionHandler];
+    [self readAttributeApparentPowerPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeApparentPowerPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119912,7 +129022,10 @@
     }
     [self subscribeAttributeApparentPowerPhaseBWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeApparentPowerPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -119923,13 +129036,19 @@
     [self readAttributeApparentPowerPhaseBWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributePowerFactorPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePowerFactorPhaseBWithCompletion:completionHandler];
+    [self readAttributePowerFactorPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePowerFactorPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119948,7 +129067,10 @@
     }
     [self subscribeAttributePowerFactorPhaseBWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePowerFactorPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -119959,13 +129081,20 @@
     [self readAttributePowerFactorPhaseBWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithCompletion:completionHandler];
+    [self readAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -119984,7 +129113,11 @@
     }
     [self subscribeAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithParams:subscribeParams
                                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                                 reportHandler:reportHandler];
+                                                                 reportHandler:^(
+                                                                     NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                     // Cast is safe because subclass does not add any selectors.
+                                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                                 }];
 }
 + (void)readAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithAttributeCache:
             (MTRAttributeCacheContainer *)attributeCacheContainer
@@ -119996,13 +129129,21 @@
     [self readAttributeAverageRmsVoltageMeasurementPeriodPhaseBWithAttributeCache:attributeCacheContainer
                                                                          endpoint:endpoint
                                                                             queue:queue
-                                                                       completion:completionHandler];
+                                                                       completion:^(
+                                                                           NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                           // Cast is safe because subclass does not add any
+                                                                           // selectors.
+                                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                                       }];
 }
 
 - (void)readAttributeAverageRmsOverVoltageCounterPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsOverVoltageCounterPhaseBWithCompletion:completionHandler];
+    [self readAttributeAverageRmsOverVoltageCounterPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsOverVoltageCounterPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120021,7 +129162,10 @@
     }
     [self subscribeAttributeAverageRmsOverVoltageCounterPhaseBWithParams:subscribeParams
                                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                                           reportHandler:reportHandler];
+                                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 + (void)readAttributeAverageRmsOverVoltageCounterPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                  endpoint:(NSNumber *)endpoint
@@ -120029,16 +129173,23 @@
                                                         completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsOverVoltageCounterPhaseBWithAttributeCache:attributeCacheContainer
-                                                                   endpoint:endpoint
-                                                                      queue:queue
-                                                                 completion:completionHandler];
+    [self
+        readAttributeAverageRmsOverVoltageCounterPhaseBWithAttributeCache:attributeCacheContainer
+                                                                 endpoint:endpoint
+                                                                    queue:queue
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeAverageRmsUnderVoltageCounterPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsUnderVoltageCounterPhaseBWithCompletion:completionHandler];
+    [self readAttributeAverageRmsUnderVoltageCounterPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsUnderVoltageCounterPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120057,7 +129208,10 @@
     }
     [self subscribeAttributeAverageRmsUnderVoltageCounterPhaseBWithParams:subscribeParams
                                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                                            reportHandler:reportHandler];
+                                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 + (void)readAttributeAverageRmsUnderVoltageCounterPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                   endpoint:(NSNumber *)endpoint
@@ -120068,13 +129222,20 @@
     [self readAttributeAverageRmsUnderVoltageCounterPhaseBWithAttributeCache:attributeCacheContainer
                                                                     endpoint:endpoint
                                                                        queue:queue
-                                                                  completion:completionHandler];
+                                                                  completion:^(
+                                                                      NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                      // Cast is safe because subclass does not add any selectors.
+                                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                                  }];
 }
 
 - (void)readAttributeRmsExtremeOverVoltagePeriodPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeOverVoltagePeriodPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeOverVoltagePeriodPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsExtremeOverVoltagePeriodPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120093,7 +129254,10 @@
     }
     [self subscribeAttributeRmsExtremeOverVoltagePeriodPhaseBWithParams:subscribeParams
                                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                                          reportHandler:reportHandler];
+                                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 + (void)readAttributeRmsExtremeOverVoltagePeriodPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                 endpoint:(NSNumber *)endpoint
@@ -120101,16 +129265,23 @@
                                                        completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeOverVoltagePeriodPhaseBWithAttributeCache:attributeCacheContainer
-                                                                  endpoint:endpoint
-                                                                     queue:queue
-                                                                completion:completionHandler];
+    [self
+        readAttributeRmsExtremeOverVoltagePeriodPhaseBWithAttributeCache:attributeCacheContainer
+                                                                endpoint:endpoint
+                                                                   queue:queue
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsExtremeUnderVoltagePeriodPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120129,7 +129300,10 @@
     }
     [self subscribeAttributeRmsExtremeUnderVoltagePeriodPhaseBWithParams:subscribeParams
                                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                                           reportHandler:reportHandler];
+                                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 + (void)readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                  endpoint:(NSNumber *)endpoint
@@ -120137,16 +129311,23 @@
                                                         completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithAttributeCache:attributeCacheContainer
-                                                                   endpoint:endpoint
-                                                                      queue:queue
-                                                                 completion:completionHandler];
+    [self
+        readAttributeRmsExtremeUnderVoltagePeriodPhaseBWithAttributeCache:attributeCacheContainer
+                                                                 endpoint:endpoint
+                                                                    queue:queue
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeRmsVoltageSagPeriodPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSagPeriodPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSagPeriodPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageSagPeriodPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120165,7 +129346,10 @@
     }
     [self subscribeAttributeRmsVoltageSagPeriodPhaseBWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeRmsVoltageSagPeriodPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -120176,13 +129360,19 @@
     [self readAttributeRmsVoltageSagPeriodPhaseBWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeRmsVoltageSwellPeriodPhaseBWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSwellPeriodPhaseBWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSwellPeriodPhaseBWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageSwellPeriodPhaseBWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120201,7 +129391,10 @@
     }
     [self subscribeAttributeRmsVoltageSwellPeriodPhaseBWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeRmsVoltageSwellPeriodPhaseBWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -120212,13 +129405,19 @@
     [self readAttributeRmsVoltageSwellPeriodPhaseBWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeLineCurrentPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLineCurrentPhaseCWithCompletion:completionHandler];
+    [self readAttributeLineCurrentPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeLineCurrentPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120237,7 +129436,10 @@
     }
     [self subscribeAttributeLineCurrentPhaseCWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeLineCurrentPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -120248,13 +129450,19 @@
     [self readAttributeLineCurrentPhaseCWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeActiveCurrentPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActiveCurrentPhaseCWithCompletion:completionHandler];
+    [self readAttributeActiveCurrentPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActiveCurrentPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120273,7 +129481,10 @@
     }
     [self subscribeAttributeActiveCurrentPhaseCWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeActiveCurrentPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -120284,13 +129495,19 @@
     [self readAttributeActiveCurrentPhaseCWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeReactiveCurrentPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReactiveCurrentPhaseCWithCompletion:completionHandler];
+    [self readAttributeReactiveCurrentPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeReactiveCurrentPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                    maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120309,7 +129526,10 @@
     }
     [self subscribeAttributeReactiveCurrentPhaseCWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeReactiveCurrentPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -120320,13 +129540,19 @@
     [self readAttributeReactiveCurrentPhaseCWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeRmsVoltagePhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltagePhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsVoltagePhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeRmsVoltagePhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -120344,7 +129570,10 @@
     }
     [self subscribeAttributeRmsVoltagePhaseCWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeRmsVoltagePhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -120355,13 +129584,19 @@
     [self readAttributeRmsVoltagePhaseCWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeRmsVoltageMinPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageMinPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageMinPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageMinPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120380,7 +129615,10 @@
     }
     [self subscribeAttributeRmsVoltageMinPhaseCWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsVoltageMinPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -120391,13 +129629,19 @@
     [self readAttributeRmsVoltageMinPhaseCWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRmsVoltageMaxPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageMaxPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageMaxPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageMaxPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120416,7 +129660,10 @@
     }
     [self subscribeAttributeRmsVoltageMaxPhaseCWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsVoltageMaxPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -120427,13 +129674,19 @@
     [self readAttributeRmsVoltageMaxPhaseCWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRmsCurrentPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)
     subscribeAttributeRmsCurrentPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
@@ -120451,7 +129704,10 @@
     }
     [self subscribeAttributeRmsCurrentPhaseCWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeRmsCurrentPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -120462,13 +129718,19 @@
     [self readAttributeRmsCurrentPhaseCWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeRmsCurrentMinPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentMinPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentMinPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsCurrentMinPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120487,7 +129749,10 @@
     }
     [self subscribeAttributeRmsCurrentMinPhaseCWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsCurrentMinPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -120498,13 +129763,19 @@
     [self readAttributeRmsCurrentMinPhaseCWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeRmsCurrentMaxPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsCurrentMaxPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsCurrentMaxPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsCurrentMaxPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120523,7 +129794,10 @@
     }
     [self subscribeAttributeRmsCurrentMaxPhaseCWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeRmsCurrentMaxPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -120534,13 +129808,19 @@
     [self readAttributeRmsCurrentMaxPhaseCWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeActivePowerPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerPhaseCWithCompletion:completionHandler];
+    [self readAttributeActivePowerPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120559,7 +129839,10 @@
     }
     [self subscribeAttributeActivePowerPhaseCWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeActivePowerPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -120570,13 +129853,19 @@
     [self readAttributeActivePowerPhaseCWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeActivePowerMinPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerMinPhaseCWithCompletion:completionHandler];
+    [self readAttributeActivePowerMinPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerMinPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120595,7 +129884,10 @@
     }
     [self subscribeAttributeActivePowerMinPhaseCWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeActivePowerMinPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -120606,13 +129898,19 @@
     [self readAttributeActivePowerMinPhaseCWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeActivePowerMaxPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeActivePowerMaxPhaseCWithCompletion:completionHandler];
+    [self readAttributeActivePowerMaxPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeActivePowerMaxPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120631,7 +129929,10 @@
     }
     [self subscribeAttributeActivePowerMaxPhaseCWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeActivePowerMaxPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -120642,13 +129943,19 @@
     [self readAttributeActivePowerMaxPhaseCWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeReactivePowerPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeReactivePowerPhaseCWithCompletion:completionHandler];
+    [self readAttributeReactivePowerPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeReactivePowerPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120667,7 +129974,10 @@
     }
     [self subscribeAttributeReactivePowerPhaseCWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeReactivePowerPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -120678,13 +129988,19 @@
     [self readAttributeReactivePowerPhaseCWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeApparentPowerPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeApparentPowerPhaseCWithCompletion:completionHandler];
+    [self readAttributeApparentPowerPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeApparentPowerPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120703,7 +130019,10 @@
     }
     [self subscribeAttributeApparentPowerPhaseCWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeApparentPowerPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -120714,13 +130033,19 @@
     [self readAttributeApparentPowerPhaseCWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributePowerFactorPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributePowerFactorPhaseCWithCompletion:completionHandler];
+    [self readAttributePowerFactorPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributePowerFactorPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120739,7 +130064,10 @@
     }
     [self subscribeAttributePowerFactorPhaseCWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributePowerFactorPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -120750,13 +130078,20 @@
     [self readAttributePowerFactorPhaseCWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                        NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithCompletion:completionHandler];
+    [self readAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithCompletion:^(
+        NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                       maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120775,7 +130110,11 @@
     }
     [self subscribeAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithParams:subscribeParams
                                                        subscriptionEstablished:subscriptionEstablishedHandler
-                                                                 reportHandler:reportHandler];
+                                                                 reportHandler:^(
+                                                                     NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                     // Cast is safe because subclass does not add any selectors.
+                                                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                                                 }];
 }
 + (void)readAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithAttributeCache:
             (MTRAttributeCacheContainer *)attributeCacheContainer
@@ -120787,13 +130126,21 @@
     [self readAttributeAverageRmsVoltageMeasurementPeriodPhaseCWithAttributeCache:attributeCacheContainer
                                                                          endpoint:endpoint
                                                                             queue:queue
-                                                                       completion:completionHandler];
+                                                                       completion:^(
+                                                                           NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                           // Cast is safe because subclass does not add any
+                                                                           // selectors.
+                                                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                                                       }];
 }
 
 - (void)readAttributeAverageRmsOverVoltageCounterPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsOverVoltageCounterPhaseCWithCompletion:completionHandler];
+    [self readAttributeAverageRmsOverVoltageCounterPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsOverVoltageCounterPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120812,7 +130159,10 @@
     }
     [self subscribeAttributeAverageRmsOverVoltageCounterPhaseCWithParams:subscribeParams
                                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                                           reportHandler:reportHandler];
+                                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 + (void)readAttributeAverageRmsOverVoltageCounterPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                  endpoint:(NSNumber *)endpoint
@@ -120820,16 +130170,23 @@
                                                         completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsOverVoltageCounterPhaseCWithAttributeCache:attributeCacheContainer
-                                                                   endpoint:endpoint
-                                                                      queue:queue
-                                                                 completion:completionHandler];
+    [self
+        readAttributeAverageRmsOverVoltageCounterPhaseCWithAttributeCache:attributeCacheContainer
+                                                                 endpoint:endpoint
+                                                                    queue:queue
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeAverageRmsUnderVoltageCounterPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAverageRmsUnderVoltageCounterPhaseCWithCompletion:completionHandler];
+    [self readAttributeAverageRmsUnderVoltageCounterPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAverageRmsUnderVoltageCounterPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120848,7 +130205,10 @@
     }
     [self subscribeAttributeAverageRmsUnderVoltageCounterPhaseCWithParams:subscribeParams
                                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                                            reportHandler:reportHandler];
+                                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 + (void)readAttributeAverageRmsUnderVoltageCounterPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                   endpoint:(NSNumber *)endpoint
@@ -120859,13 +130219,20 @@
     [self readAttributeAverageRmsUnderVoltageCounterPhaseCWithAttributeCache:attributeCacheContainer
                                                                     endpoint:endpoint
                                                                        queue:queue
-                                                                  completion:completionHandler];
+                                                                  completion:^(
+                                                                      NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                      // Cast is safe because subclass does not add any selectors.
+                                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                                  }];
 }
 
 - (void)readAttributeRmsExtremeOverVoltagePeriodPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeOverVoltagePeriodPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeOverVoltagePeriodPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsExtremeOverVoltagePeriodPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120884,7 +130251,10 @@
     }
     [self subscribeAttributeRmsExtremeOverVoltagePeriodPhaseCWithParams:subscribeParams
                                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                                          reportHandler:reportHandler];
+                                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 + (void)readAttributeRmsExtremeOverVoltagePeriodPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                 endpoint:(NSNumber *)endpoint
@@ -120892,16 +130262,23 @@
                                                        completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeOverVoltagePeriodPhaseCWithAttributeCache:attributeCacheContainer
-                                                                  endpoint:endpoint
-                                                                     queue:queue
-                                                                completion:completionHandler];
+    [self
+        readAttributeRmsExtremeOverVoltagePeriodPhaseCWithAttributeCache:attributeCacheContainer
+                                                                endpoint:endpoint
+                                                                   queue:queue
+                                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsExtremeUnderVoltagePeriodPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                                 maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120920,7 +130297,10 @@
     }
     [self subscribeAttributeRmsExtremeUnderVoltagePeriodPhaseCWithParams:subscribeParams
                                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                                           reportHandler:reportHandler];
+                                                           reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               reportHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 + (void)readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                                  endpoint:(NSNumber *)endpoint
@@ -120928,16 +130308,23 @@
                                                         completionHandler:(void (^)(NSNumber * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithAttributeCache:attributeCacheContainer
-                                                                   endpoint:endpoint
-                                                                      queue:queue
-                                                                 completion:completionHandler];
+    [self
+        readAttributeRmsExtremeUnderVoltagePeriodPhaseCWithAttributeCache:attributeCacheContainer
+                                                                 endpoint:endpoint
+                                                                    queue:queue
+                                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                   // Cast is safe because subclass does not add any selectors.
+                                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                                               }];
 }
 
 - (void)readAttributeRmsVoltageSagPeriodPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                         NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSagPeriodPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSagPeriodPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageSagPeriodPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                        maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120956,7 +130343,10 @@
     }
     [self subscribeAttributeRmsVoltageSagPeriodPhaseCWithParams:subscribeParams
                                         subscriptionEstablished:subscriptionEstablishedHandler
-                                                  reportHandler:reportHandler];
+                                                  reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      reportHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 + (void)readAttributeRmsVoltageSagPeriodPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                         endpoint:(NSNumber *)endpoint
@@ -120967,13 +130357,19 @@
     [self readAttributeRmsVoltageSagPeriodPhaseCWithAttributeCache:attributeCacheContainer
                                                           endpoint:endpoint
                                                              queue:queue
-                                                        completion:completionHandler];
+                                                        completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            completionHandler(static_cast<NSNumber *>(value), error);
+                                                        }];
 }
 
 - (void)readAttributeRmsVoltageSwellPeriodPhaseCWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                           NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRmsVoltageSwellPeriodPhaseCWithCompletion:completionHandler];
+    [self readAttributeRmsVoltageSwellPeriodPhaseCWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeRmsVoltageSwellPeriodPhaseCWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                          maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -120992,7 +130388,10 @@
     }
     [self subscribeAttributeRmsVoltageSwellPeriodPhaseCWithParams:subscribeParams
                                           subscriptionEstablished:subscriptionEstablishedHandler
-                                                    reportHandler:reportHandler];
+                                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 + (void)readAttributeRmsVoltageSwellPeriodPhaseCWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                           endpoint:(NSNumber *)endpoint
@@ -121003,13 +130402,19 @@
     [self readAttributeRmsVoltageSwellPeriodPhaseCWithAttributeCache:attributeCacheContainer
                                                             endpoint:endpoint
                                                                queue:queue
-                                                          completion:completionHandler];
+                                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                              // Cast is safe because subclass does not add any selectors.
+                                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                                          }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -121028,7 +130433,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -121039,13 +130447,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -121064,7 +130478,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -121075,13 +130492,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -121098,7 +130521,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -121109,13 +130535,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -121132,7 +130564,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -121142,13 +130577,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -121166,7 +130607,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -121177,7 +130621,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
@@ -132204,164 +141651,272 @@
 
 @end
 
-@implementation MTRBaseClusterUnitTesting (Deprecated)
+@implementation MTRBaseClusterTestCluster
+@end
 
-- (void)testWithParams:(MTRUnitTestingClusterTestParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler
+@implementation MTRBaseClusterTestCluster (Deprecated)
+
+- (void)testWithParams:(MTRTestClusterClusterTestParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler
 {
     [self testWithParams:params completion:completionHandler];
 }
 - (void)testWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self testWithParams:nil completion:completionHandler];
+    [self testWithParams:nil completionHandler:completionHandler];
 }
-- (void)testNotHandledWithParams:(MTRUnitTestingClusterTestNotHandledParams * _Nullable)params
+- (void)testNotHandledWithParams:(MTRTestClusterClusterTestNotHandledParams * _Nullable)params
                completionHandler:(MTRStatusCompletion)completionHandler
 {
     [self testNotHandledWithParams:params completion:completionHandler];
 }
 - (void)testNotHandledWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self testNotHandledWithParams:nil completion:completionHandler];
+    [self testNotHandledWithParams:nil completionHandler:completionHandler];
 }
-- (void)testSpecificWithParams:(MTRUnitTestingClusterTestSpecificParams * _Nullable)params
-             completionHandler:(void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data,
+- (void)testSpecificWithParams:(MTRTestClusterClusterTestSpecificParams * _Nullable)params
+             completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
-    [self testSpecificWithParams:params completion:completionHandler];
+    [self testSpecificWithParams:params
+                      completion:^(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRTestClusterClusterTestSpecificResponseParams *>(data), error);
+                      }];
 }
-- (void)testSpecificWithCompletionHandler:(void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data,
+- (void)testSpecificWithCompletionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
 {
-    [self testSpecificWithParams:nil completion:completionHandler];
+    [self testSpecificWithParams:nil completionHandler:completionHandler];
 }
-- (void)testUnknownCommandWithParams:(MTRUnitTestingClusterTestUnknownCommandParams * _Nullable)params
+- (void)testUnknownCommandWithParams:(MTRTestClusterClusterTestUnknownCommandParams * _Nullable)params
                    completionHandler:(MTRStatusCompletion)completionHandler
 {
     [self testUnknownCommandWithParams:params completion:completionHandler];
 }
 - (void)testUnknownCommandWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self testUnknownCommandWithParams:nil completion:completionHandler];
+    [self testUnknownCommandWithParams:nil completionHandler:completionHandler];
 }
-- (void)testAddArgumentsWithParams:(MTRUnitTestingClusterTestAddArgumentsParams *)params
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestAddArgumentsResponseParams * _Nullable data,
+- (void)testAddArgumentsWithParams:(MTRTestClusterClusterTestAddArgumentsParams *)params
+                 completionHandler:(void (^)(MTRTestClusterClusterTestAddArgumentsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
-    [self testAddArgumentsWithParams:params completion:completionHandler];
+    [self testAddArgumentsWithParams:params
+                          completion:^(
+                              MTRUnitTestingClusterTestAddArgumentsResponseParams * _Nullable data, NSError * _Nullable error) {
+                              // Cast is safe because subclass does not add any selectors.
+                              completionHandler(static_cast<MTRTestClusterClusterTestAddArgumentsResponseParams *>(data), error);
+                          }];
 }
-- (void)testSimpleArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleArgumentRequestParams *)params
-                          completionHandler:(void (^)(MTRUnitTestingClusterTestSimpleArgumentResponseParams * _Nullable data,
+- (void)testSimpleArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleArgumentRequestParams *)params
+                          completionHandler:(void (^)(MTRTestClusterClusterTestSimpleArgumentResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
 {
-    [self testSimpleArgumentRequestWithParams:params completion:completionHandler];
+    [self testSimpleArgumentRequestWithParams:params
+                                   completion:^(MTRUnitTestingClusterTestSimpleArgumentResponseParams * _Nullable data,
+                                       NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(
+                                           static_cast<MTRTestClusterClusterTestSimpleArgumentResponseParams *>(data), error);
+                                   }];
 }
-- (void)testStructArrayArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArrayArgumentRequestParams *)params
+- (void)testStructArrayArgumentRequestWithParams:(MTRTestClusterClusterTestStructArrayArgumentRequestParams *)params
                                completionHandler:
-                                   (void (^)(MTRUnitTestingClusterTestStructArrayArgumentResponseParams * _Nullable data,
+                                   (void (^)(MTRTestClusterClusterTestStructArrayArgumentResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
-    [self testStructArrayArgumentRequestWithParams:params completion:completionHandler];
+    [self testStructArrayArgumentRequestWithParams:params
+                                        completion:^(MTRUnitTestingClusterTestStructArrayArgumentResponseParams * _Nullable data,
+                                            NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(
+                                                static_cast<MTRTestClusterClusterTestStructArrayArgumentResponseParams *>(data),
+                                                error);
+                                        }];
 }
-- (void)testStructArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArgumentRequestParams *)params
-                          completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testStructArgumentRequestWithParams:(MTRTestClusterClusterTestStructArgumentRequestParams *)params
+                          completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
 {
-    [self testStructArgumentRequestWithParams:params completion:completionHandler];
+    [self testStructArgumentRequestWithParams:params
+                                   completion:^(
+                                       MTRUnitTestingClusterBooleanResponseParams * _Nullable data, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                   }];
 }
-- (void)testNestedStructArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructArgumentRequestParams *)params
-                                completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testNestedStructArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructArgumentRequestParams *)params
+                                completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                       NSError * _Nullable error))completionHandler
 {
-    [self testNestedStructArgumentRequestWithParams:params completion:completionHandler];
+    [self testNestedStructArgumentRequestWithParams:params
+                                         completion:^(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                             NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(
+                                                 static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                         }];
 }
-- (void)testListStructArgumentRequestWithParams:(MTRUnitTestingClusterTestListStructArgumentRequestParams *)params
-                              completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testListStructArgumentRequestWithParams:(MTRTestClusterClusterTestListStructArgumentRequestParams *)params
+                              completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                     NSError * _Nullable error))completionHandler
 {
-    [self testListStructArgumentRequestWithParams:params completion:completionHandler];
+    [self
+        testListStructArgumentRequestWithParams:params
+                                     completion:^(
+                                         MTRUnitTestingClusterBooleanResponseParams * _Nullable data, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                     }];
 }
-- (void)testListInt8UArgumentRequestWithParams:(MTRUnitTestingClusterTestListInt8UArgumentRequestParams *)params
-                             completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testListInt8UArgumentRequestWithParams:(MTRTestClusterClusterTestListInt8UArgumentRequestParams *)params
+                             completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                    NSError * _Nullable error))completionHandler
 {
-    [self testListInt8UArgumentRequestWithParams:params completion:completionHandler];
+    [self testListInt8UArgumentRequestWithParams:params
+                                      completion:^(
+                                          MTRUnitTestingClusterBooleanResponseParams * _Nullable data, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                      }];
 }
-- (void)testNestedStructListArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructListArgumentRequestParams *)params
-                                    completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+- (void)testNestedStructListArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructListArgumentRequestParams *)params
+                                    completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                           NSError * _Nullable error))completionHandler
 {
-    [self testNestedStructListArgumentRequestWithParams:params completion:completionHandler];
+    [self testNestedStructListArgumentRequestWithParams:params
+                                             completion:^(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                                 NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(
+                                                     static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                             }];
 }
 - (void)testListNestedStructListArgumentRequestWithParams:
-            (MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams *)params
-                                        completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+            (MTRTestClusterClusterTestListNestedStructListArgumentRequestParams *)params
+                                        completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self testListNestedStructListArgumentRequestWithParams:params completion:completionHandler];
+    [self testListNestedStructListArgumentRequestWithParams:params
+                                                 completion:^(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                                     NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(
+                                                         static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                                 }];
 }
-- (void)testListInt8UReverseRequestWithParams:(MTRUnitTestingClusterTestListInt8UReverseRequestParams *)params
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestListInt8UReverseResponseParams * _Nullable data,
+- (void)testListInt8UReverseRequestWithParams:(MTRTestClusterClusterTestListInt8UReverseRequestParams *)params
+                            completionHandler:(void (^)(MTRTestClusterClusterTestListInt8UReverseResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
 {
-    [self testListInt8UReverseRequestWithParams:params completion:completionHandler];
+    [self testListInt8UReverseRequestWithParams:params
+                                     completion:^(MTRUnitTestingClusterTestListInt8UReverseResponseParams * _Nullable data,
+                                         NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(
+                                             static_cast<MTRTestClusterClusterTestListInt8UReverseResponseParams *>(data), error);
+                                     }];
 }
-- (void)testEnumsRequestWithParams:(MTRUnitTestingClusterTestEnumsRequestParams *)params
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestEnumsResponseParams * _Nullable data,
+- (void)testEnumsRequestWithParams:(MTRTestClusterClusterTestEnumsRequestParams *)params
+                 completionHandler:(void (^)(MTRTestClusterClusterTestEnumsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
-    [self testEnumsRequestWithParams:params completion:completionHandler];
+    [self testEnumsRequestWithParams:params
+                          completion:^(MTRUnitTestingClusterTestEnumsResponseParams * _Nullable data, NSError * _Nullable error) {
+                              // Cast is safe because subclass does not add any selectors.
+                              completionHandler(static_cast<MTRTestClusterClusterTestEnumsResponseParams *>(data), error);
+                          }];
 }
-- (void)testNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestNullableOptionalRequestParams * _Nullable)params
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestNullableOptionalResponseParams * _Nullable data,
+- (void)testNullableOptionalRequestWithParams:(MTRTestClusterClusterTestNullableOptionalRequestParams * _Nullable)params
+                            completionHandler:(void (^)(MTRTestClusterClusterTestNullableOptionalResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
 {
-    [self testNullableOptionalRequestWithParams:params completion:completionHandler];
+    [self testNullableOptionalRequestWithParams:params
+                                     completion:^(MTRUnitTestingClusterTestNullableOptionalResponseParams * _Nullable data,
+                                         NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(
+                                             static_cast<MTRTestClusterClusterTestNullableOptionalResponseParams *>(data), error);
+                                     }];
 }
-- (void)testComplexNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestComplexNullableOptionalRequestParams *)params
+- (void)testComplexNullableOptionalRequestWithParams:(MTRTestClusterClusterTestComplexNullableOptionalRequestParams *)params
                                    completionHandler:
-                                       (void (^)(MTRUnitTestingClusterTestComplexNullableOptionalResponseParams * _Nullable data,
+                                       (void (^)(MTRTestClusterClusterTestComplexNullableOptionalResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
 {
-    [self testComplexNullableOptionalRequestWithParams:params completion:completionHandler];
+    [self testComplexNullableOptionalRequestWithParams:params
+                                            completion:^(
+                                                MTRUnitTestingClusterTestComplexNullableOptionalResponseParams * _Nullable data,
+                                                NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(
+                                                    static_cast<MTRTestClusterClusterTestComplexNullableOptionalResponseParams *>(
+                                                        data),
+                                                    error);
+                                            }];
 }
-- (void)simpleStructEchoRequestWithParams:(MTRUnitTestingClusterSimpleStructEchoRequestParams *)params
-                        completionHandler:(void (^)(MTRUnitTestingClusterSimpleStructResponseParams * _Nullable data,
+- (void)simpleStructEchoRequestWithParams:(MTRTestClusterClusterSimpleStructEchoRequestParams *)params
+                        completionHandler:(void (^)(MTRTestClusterClusterSimpleStructResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
 {
-    [self simpleStructEchoRequestWithParams:params completion:completionHandler];
+    [self simpleStructEchoRequestWithParams:params
+                                 completion:^(
+                                     MTRUnitTestingClusterSimpleStructResponseParams * _Nullable data, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     completionHandler(static_cast<MTRTestClusterClusterSimpleStructResponseParams *>(data), error);
+                                 }];
 }
-- (void)timedInvokeRequestWithParams:(MTRUnitTestingClusterTimedInvokeRequestParams * _Nullable)params
+- (void)timedInvokeRequestWithParams:(MTRTestClusterClusterTimedInvokeRequestParams * _Nullable)params
                    completionHandler:(MTRStatusCompletion)completionHandler
 {
     [self timedInvokeRequestWithParams:params completion:completionHandler];
 }
 - (void)timedInvokeRequestWithCompletionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self timedInvokeRequestWithParams:nil completion:completionHandler];
+    [self timedInvokeRequestWithParams:nil completionHandler:completionHandler];
 }
-- (void)testSimpleOptionalArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
+- (void)testSimpleOptionalArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
                                   completionHandler:(MTRStatusCompletion)completionHandler
 {
     [self testSimpleOptionalArgumentRequestWithParams:params completion:completionHandler];
 }
-- (void)testEmitTestEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestEventRequestParams *)params
-                         completionHandler:(void (^)(MTRUnitTestingClusterTestEmitTestEventResponseParams * _Nullable data,
+- (void)testEmitTestEventRequestWithParams:(MTRTestClusterClusterTestEmitTestEventRequestParams *)params
+                         completionHandler:(void (^)(MTRTestClusterClusterTestEmitTestEventResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler
 {
-    [self testEmitTestEventRequestWithParams:params completion:completionHandler];
+    [self testEmitTestEventRequestWithParams:params
+                                  completion:^(MTRUnitTestingClusterTestEmitTestEventResponseParams * _Nullable data,
+                                      NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      completionHandler(
+                                          static_cast<MTRTestClusterClusterTestEmitTestEventResponseParams *>(data), error);
+                                  }];
 }
-- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams *)params
+- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams *)params
                                      completionHandler:
                                          (void (^)(
-                                             MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
+                                             MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
                                              NSError * _Nullable error))completionHandler
 {
-    [self testEmitTestFabricScopedEventRequestWithParams:params completion:completionHandler];
+    [self
+        testEmitTestFabricScopedEventRequestWithParams:params
+                                            completion:^(
+                                                MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
+                                                NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(
+                                                    static_cast<MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams *>(
+                                                        data),
+                                                    error);
+                                            }];
 }
 
 - (void)readAttributeBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBooleanWithCompletion:completionHandler];
+    [self readAttributeBooleanWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132388,7 +141943,10 @@
     }
     [self subscribeAttributeBooleanWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeBooleanWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -132398,12 +141956,18 @@
     [self readAttributeBooleanWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeBitmap8WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBitmap8WithCompletion:completionHandler];
+    [self readAttributeBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBitmap8WithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132430,7 +141994,10 @@
     }
     [self subscribeAttributeBitmap8WithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeBitmap8WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -132440,13 +142007,19 @@
     [self readAttributeBitmap8WithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeBitmap16WithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBitmap16WithCompletion:completionHandler];
+    [self readAttributeBitmap16WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBitmap16WithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132473,7 +142046,10 @@
     }
     [self subscribeAttributeBitmap16WithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeBitmap16WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -132483,13 +142059,19 @@
     [self readAttributeBitmap16WithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeBitmap32WithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBitmap32WithCompletion:completionHandler];
+    [self readAttributeBitmap32WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBitmap32WithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132516,7 +142098,10 @@
     }
     [self subscribeAttributeBitmap32WithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeBitmap32WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -132526,13 +142111,19 @@
     [self readAttributeBitmap32WithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeBitmap64WithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeBitmap64WithCompletion:completionHandler];
+    [self readAttributeBitmap64WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeBitmap64WithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132559,7 +142150,10 @@
     }
     [self subscribeAttributeBitmap64WithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeBitmap64WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -132569,12 +142163,18 @@
     [self readAttributeBitmap64WithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt8uWithCompletion:completionHandler];
+    [self readAttributeInt8uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt8uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132601,19 +142201,31 @@
     }
     [self subscribeAttributeInt8uWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeInt8uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt8uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt8uWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt16uWithCompletion:completionHandler];
+    [self readAttributeInt16uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt16uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132640,19 +142252,31 @@
     }
     [self subscribeAttributeInt16uWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt16uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt16uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt16uWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt24uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt24uWithCompletion:completionHandler];
+    [self readAttributeInt24uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt24uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132679,19 +142303,31 @@
     }
     [self subscribeAttributeInt24uWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt24uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt24uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt24uWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt32uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt32uWithCompletion:completionHandler];
+    [self readAttributeInt32uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt32uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132718,19 +142354,31 @@
     }
     [self subscribeAttributeInt32uWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt32uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt32uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt32uWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt40uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt40uWithCompletion:completionHandler];
+    [self readAttributeInt40uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt40uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132757,19 +142405,31 @@
     }
     [self subscribeAttributeInt40uWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt40uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt40uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt40uWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt48uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt48uWithCompletion:completionHandler];
+    [self readAttributeInt48uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt48uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132796,19 +142456,31 @@
     }
     [self subscribeAttributeInt48uWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt48uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt48uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt48uWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt56uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt56uWithCompletion:completionHandler];
+    [self readAttributeInt56uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt56uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132835,19 +142507,31 @@
     }
     [self subscribeAttributeInt56uWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt56uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt56uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt56uWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt64uWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt64uWithCompletion:completionHandler];
+    [self readAttributeInt64uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt64uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132874,19 +142558,31 @@
     }
     [self subscribeAttributeInt64uWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt64uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt64uWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt64uWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt8sWithCompletion:completionHandler];
+    [self readAttributeInt8sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt8sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132913,19 +142609,31 @@
     }
     [self subscribeAttributeInt8sWithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeInt8sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt8sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt8sWithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt16sWithCompletion:completionHandler];
+    [self readAttributeInt16sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt16sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132952,19 +142660,31 @@
     }
     [self subscribeAttributeInt16sWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt16sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt16sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt16sWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt24sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt24sWithCompletion:completionHandler];
+    [self readAttributeInt24sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt24sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -132991,19 +142711,31 @@
     }
     [self subscribeAttributeInt24sWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt24sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt24sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt24sWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt32sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt32sWithCompletion:completionHandler];
+    [self readAttributeInt32sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt32sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133030,19 +142762,31 @@
     }
     [self subscribeAttributeInt32sWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt32sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt32sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt32sWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt40sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt40sWithCompletion:completionHandler];
+    [self readAttributeInt40sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt40sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133069,19 +142813,31 @@
     }
     [self subscribeAttributeInt40sWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt40sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt40sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt40sWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt48sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt48sWithCompletion:completionHandler];
+    [self readAttributeInt48sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt48sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133108,19 +142864,31 @@
     }
     [self subscribeAttributeInt48sWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt48sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt48sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt48sWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt56sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt56sWithCompletion:completionHandler];
+    [self readAttributeInt56sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt56sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133147,19 +142915,31 @@
     }
     [self subscribeAttributeInt56sWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt56sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt56sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt56sWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeInt64sWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt64sWithCompletion:completionHandler];
+    [self readAttributeInt64sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeInt64sWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133186,19 +142966,31 @@
     }
     [self subscribeAttributeInt64sWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeInt64sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeInt64sWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeInt64sWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeEnum8WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnum8WithCompletion:completionHandler];
+    [self readAttributeEnum8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEnum8WithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133225,19 +143017,31 @@
     }
     [self subscribeAttributeEnum8WithParams:subscribeParams
                     subscriptionEstablished:subscriptionEstablishedHandler
-                              reportHandler:reportHandler];
+                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  reportHandler(static_cast<NSNumber *>(value), error);
+                              }];
 }
 + (void)readAttributeEnum8WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                     endpoint:(NSNumber *)endpoint
                                        queue:(dispatch_queue_t)queue
                            completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnum8WithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeEnum8WithAttributeCache:attributeCacheContainer
+                                      endpoint:endpoint
+                                         queue:queue
+                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 
 - (void)readAttributeEnum16WithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnum16WithCompletion:completionHandler];
+    [self readAttributeEnum16WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEnum16WithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133264,20 +143068,32 @@
     }
     [self subscribeAttributeEnum16WithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeEnum16WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnum16WithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeEnum16WithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeFloatSingleWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFloatSingleWithCompletion:completionHandler];
+    [self readAttributeFloatSingleWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeFloatSingleWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133304,7 +143120,10 @@
     }
     [self subscribeAttributeFloatSingleWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeFloatSingleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -133315,13 +143134,19 @@
     [self readAttributeFloatSingleWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeFloatDoubleWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFloatDoubleWithCompletion:completionHandler];
+    [self readAttributeFloatDoubleWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeFloatDoubleWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133348,7 +143173,10 @@
     }
     [self subscribeAttributeFloatDoubleWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeFloatDoubleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -133359,13 +143187,19 @@
     [self readAttributeFloatDoubleWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeOctetStringWithCompletionHandler:(void (^)(
                                                           NSData * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeOctetStringWithCompletion:completionHandler];
+    [self readAttributeOctetStringWithCompletion:^(NSData * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSData *>(value), error);
+    }];
 }
 - (void)writeAttributeOctetStringWithValue:(NSData * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133392,7 +143226,10 @@
     }
     [self subscribeAttributeOctetStringWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSData *>(value), error);
+                                    }];
 }
 + (void)readAttributeOctetStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -133402,13 +143239,19 @@
     [self readAttributeOctetStringWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSData *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeListInt8uWithCompletionHandler:(void (^)(
                                                         NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeListInt8uWithCompletion:completionHandler];
+    [self readAttributeListInt8uWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)writeAttributeListInt8uWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133435,7 +143278,10 @@
     }
     [self subscribeAttributeListInt8uWithParams:subscribeParams
                         subscriptionEstablished:subscriptionEstablishedHandler
-                                  reportHandler:reportHandler];
+                                  reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      reportHandler(static_cast<NSArray *>(value), error);
+                                  }];
 }
 + (void)readAttributeListInt8uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                         endpoint:(NSNumber *)endpoint
@@ -133445,13 +143291,19 @@
     [self readAttributeListInt8uWithAttributeCache:attributeCacheContainer
                                           endpoint:endpoint
                                              queue:queue
-                                        completion:completionHandler];
+                                        completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 
 - (void)readAttributeListOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeListOctetStringWithCompletion:completionHandler];
+    [self readAttributeListOctetStringWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)writeAttributeListOctetStringWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133479,7 +143331,10 @@
     }
     [self subscribeAttributeListOctetStringWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSArray *>(value), error);
+                                        }];
 }
 + (void)readAttributeListOctetStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -133490,13 +143345,19 @@
     [self readAttributeListOctetStringWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSArray *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeListStructOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeListStructOctetStringWithCompletion:completionHandler];
+    [self readAttributeListStructOctetStringWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)writeAttributeListStructOctetStringWithValue:(NSArray * _Nonnull)value
                                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -133526,7 +143387,10 @@
     }
     [self subscribeAttributeListStructOctetStringWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSArray *>(value), error);
+                                              }];
 }
 + (void)readAttributeListStructOctetStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -133537,13 +143401,19 @@
     [self readAttributeListStructOctetStringWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSArray *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeLongOctetStringWithCompletionHandler:(void (^)(
                                                               NSData * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLongOctetStringWithCompletion:completionHandler];
+    [self readAttributeLongOctetStringWithCompletion:^(NSData * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSData *>(value), error);
+    }];
 }
 - (void)writeAttributeLongOctetStringWithValue:(NSData * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133571,7 +143441,10 @@
     }
     [self subscribeAttributeLongOctetStringWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSData *>(value), error);
+                                        }];
 }
 + (void)readAttributeLongOctetStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -133582,13 +143455,19 @@
     [self readAttributeLongOctetStringWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSData *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeCharStringWithCompletionHandler:(void (^)(
                                                          NSString * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeCharStringWithCompletion:completionHandler];
+    [self readAttributeCharStringWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeCharStringWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133615,7 +143494,10 @@
     }
     [self subscribeAttributeCharStringWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSString *>(value), error);
+                                   }];
 }
 + (void)readAttributeCharStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -133625,13 +143507,19 @@
     [self readAttributeCharStringWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSString *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeLongCharStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeLongCharStringWithCompletion:completionHandler];
+    [self readAttributeLongCharStringWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeLongCharStringWithValue:(NSString * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133659,7 +143547,10 @@
     }
     [self subscribeAttributeLongCharStringWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSString *>(value), error);
+                                       }];
 }
 + (void)readAttributeLongCharStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -133670,12 +143561,18 @@
     [self readAttributeLongCharStringWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSString *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeEpochUsWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEpochUsWithCompletion:completionHandler];
+    [self readAttributeEpochUsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEpochUsWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133702,7 +143599,10 @@
     }
     [self subscribeAttributeEpochUsWithParams:subscribeParams
                       subscriptionEstablished:subscriptionEstablishedHandler
-                                reportHandler:reportHandler];
+                                reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    reportHandler(static_cast<NSNumber *>(value), error);
+                                }];
 }
 + (void)readAttributeEpochUsWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                       endpoint:(NSNumber *)endpoint
@@ -133712,12 +143612,18 @@
     [self readAttributeEpochUsWithAttributeCache:attributeCacheContainer
                                         endpoint:endpoint
                                            queue:queue
-                                      completion:completionHandler];
+                                      completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 
 - (void)readAttributeEpochSWithCompletionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEpochSWithCompletion:completionHandler];
+    [self readAttributeEpochSWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEpochSWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133744,20 +143650,32 @@
     }
     [self subscribeAttributeEpochSWithParams:subscribeParams
                      subscriptionEstablished:subscriptionEstablishedHandler
-                               reportHandler:reportHandler];
+                               reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   reportHandler(static_cast<NSNumber *>(value), error);
+                               }];
 }
 + (void)readAttributeEpochSWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                      endpoint:(NSNumber *)endpoint
                                         queue:(dispatch_queue_t)queue
                             completionHandler:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEpochSWithAttributeCache:attributeCacheContainer endpoint:endpoint queue:queue completion:completionHandler];
+    [self readAttributeEpochSWithAttributeCache:attributeCacheContainer
+                                       endpoint:endpoint
+                                          queue:queue
+                                     completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<NSNumber *>(value), error);
+                                     }];
 }
 
 - (void)readAttributeVendorIdWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeVendorIdWithCompletion:completionHandler];
+    [self readAttributeVendorIdWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeVendorIdWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133784,7 +143702,10 @@
     }
     [self subscribeAttributeVendorIdWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeVendorIdWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -133794,13 +143715,19 @@
     [self readAttributeVendorIdWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
 - (void)readAttributeListNullablesAndOptionalsStructWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeListNullablesAndOptionalsStructWithCompletion:completionHandler];
+    [self readAttributeListNullablesAndOptionalsStructWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSArray * _Nonnull)value
                                              completionHandler:(MTRStatusCompletion)completionHandler
@@ -133830,7 +143757,10 @@
     }
     [self subscribeAttributeListNullablesAndOptionalsStructWithParams:subscribeParams
                                               subscriptionEstablished:subscriptionEstablishedHandler
-                                                        reportHandler:reportHandler];
+                                                        reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                            // Cast is safe because subclass does not add any selectors.
+                                                            reportHandler(static_cast<NSArray *>(value), error);
+                                                        }];
 }
 + (void)readAttributeListNullablesAndOptionalsStructWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                               endpoint:(NSNumber *)endpoint
@@ -133841,13 +143771,19 @@
     [self readAttributeListNullablesAndOptionalsStructWithAttributeCache:attributeCacheContainer
                                                                 endpoint:endpoint
                                                                    queue:queue
-                                                              completion:completionHandler];
+                                                              completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                                  // Cast is safe because subclass does not add any selectors.
+                                                                  completionHandler(static_cast<NSArray *>(value), error);
+                                                              }];
 }
 
 - (void)readAttributeEnumAttrWithCompletionHandler:(void (^)(
                                                        NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeEnumAttrWithCompletion:completionHandler];
+    [self readAttributeEnumAttrWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeEnumAttrWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133874,7 +143810,10 @@
     }
     [self subscribeAttributeEnumAttrWithParams:subscribeParams
                        subscriptionEstablished:subscriptionEstablishedHandler
-                                 reportHandler:reportHandler];
+                                 reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     reportHandler(static_cast<NSNumber *>(value), error);
+                                 }];
 }
 + (void)readAttributeEnumAttrWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                        endpoint:(NSNumber *)endpoint
@@ -133884,20 +143823,26 @@
     [self readAttributeEnumAttrWithAttributeCache:attributeCacheContainer
                                          endpoint:endpoint
                                             queue:queue
-                                       completion:completionHandler];
+                                       completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 
-- (void)readAttributeStructAttrWithCompletionHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+- (void)readAttributeStructAttrWithCompletionHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                          NSError * _Nullable error))completionHandler
 {
-    [self readAttributeStructAttrWithCompletion:completionHandler];
+    [self readAttributeStructAttrWithCompletion:^(MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRTestClusterClusterSimpleStruct *>(value), error);
+    }];
 }
-- (void)writeAttributeStructAttrWithValue:(MTRUnitTestingClusterSimpleStruct * _Nonnull)value
+- (void)writeAttributeStructAttrWithValue:(MTRTestClusterClusterSimpleStruct * _Nonnull)value
                         completionHandler:(MTRStatusCompletion)completionHandler
 {
     [self writeAttributeStructAttrWithValue:value params:nil completion:completionHandler];
 }
-- (void)writeAttributeStructAttrWithValue:(MTRUnitTestingClusterSimpleStruct * _Nonnull)value
+- (void)writeAttributeStructAttrWithValue:(MTRTestClusterClusterSimpleStruct * _Nonnull)value
                                    params:(MTRWriteParams * _Nullable)params
                         completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -133907,7 +143852,7 @@
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
                                              params:(MTRSubscribeParams * _Nullable)params
                             subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
-                                      reportHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                      reportHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                         NSError * _Nullable error))reportHandler
 {
     MTRSubscribeParams * _Nullable subscribeParams = [params copy];
@@ -133919,24 +143864,34 @@
     }
     [self subscribeAttributeStructAttrWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<MTRTestClusterClusterSimpleStruct *>(value), error);
+                                   }];
 }
 + (void)readAttributeStructAttrWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
                                             queue:(dispatch_queue_t)queue
-                                completionHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                completionHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                       NSError * _Nullable error))completionHandler
 {
     [self readAttributeStructAttrWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(
+                                             MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<MTRTestClusterClusterSimpleStruct *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeRangeRestrictedInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRangeRestrictedInt8uWithCompletion:completionHandler];
+    [self readAttributeRangeRestrictedInt8uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRangeRestrictedInt8uWithValue:(NSNumber * _Nonnull)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -133966,7 +143921,10 @@
     }
     [self subscribeAttributeRangeRestrictedInt8uWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeRangeRestrictedInt8uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -133977,13 +143935,19 @@
     [self readAttributeRangeRestrictedInt8uWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeRangeRestrictedInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRangeRestrictedInt8sWithCompletion:completionHandler];
+    [self readAttributeRangeRestrictedInt8sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRangeRestrictedInt8sWithValue:(NSNumber * _Nonnull)value
                                   completionHandler:(MTRStatusCompletion)completionHandler
@@ -134013,7 +143977,10 @@
     }
     [self subscribeAttributeRangeRestrictedInt8sWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 + (void)readAttributeRangeRestrictedInt8sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -134024,13 +143991,19 @@
     [self readAttributeRangeRestrictedInt8sWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSNumber *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeRangeRestrictedInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRangeRestrictedInt16uWithCompletion:completionHandler];
+    [self readAttributeRangeRestrictedInt16uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRangeRestrictedInt16uWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -134060,7 +144033,10 @@
     }
     [self subscribeAttributeRangeRestrictedInt16uWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeRangeRestrictedInt16uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -134071,13 +144047,19 @@
     [self readAttributeRangeRestrictedInt16uWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeRangeRestrictedInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                     NSError * _Nullable error))completionHandler
 {
-    [self readAttributeRangeRestrictedInt16sWithCompletion:completionHandler];
+    [self readAttributeRangeRestrictedInt16sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeRangeRestrictedInt16sWithValue:(NSNumber * _Nonnull)value
                                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -134107,7 +144089,10 @@
     }
     [self subscribeAttributeRangeRestrictedInt16sWithParams:subscribeParams
                                     subscriptionEstablished:subscriptionEstablishedHandler
-                                              reportHandler:reportHandler];
+                                              reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  reportHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 + (void)readAttributeRangeRestrictedInt16sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                     endpoint:(NSNumber *)endpoint
@@ -134118,13 +144103,19 @@
     [self readAttributeRangeRestrictedInt16sWithAttributeCache:attributeCacheContainer
                                                       endpoint:endpoint
                                                          queue:queue
-                                                    completion:completionHandler];
+                                                    completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                        // Cast is safe because subclass does not add any selectors.
+                                                        completionHandler(static_cast<NSNumber *>(value), error);
+                                                    }];
 }
 
 - (void)readAttributeListLongOctetStringWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeListLongOctetStringWithCompletion:completionHandler];
+    [self readAttributeListLongOctetStringWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)writeAttributeListLongOctetStringWithValue:(NSArray * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -134154,7 +144145,10 @@
     }
     [self subscribeAttributeListLongOctetStringWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeListLongOctetStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -134165,13 +144159,20 @@
     [self readAttributeListLongOctetStringWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeListFabricScopedWithParams:(MTRReadParams * _Nullable)params
                               completionHandler:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeListFabricScopedWithParams:params completion:completionHandler];
+    [self readAttributeListFabricScopedWithParams:params
+                                       completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           completionHandler(static_cast<NSArray *>(value), error);
+                                       }];
 }
 - (void)writeAttributeListFabricScopedWithValue:(NSArray * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134199,7 +144200,10 @@
     }
     [self subscribeAttributeListFabricScopedWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSArray *>(value), error);
+                                         }];
 }
 + (void)readAttributeListFabricScopedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -134210,13 +144214,19 @@
     [self readAttributeListFabricScopedWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSArray *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeTimedWriteBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                 NSError * _Nullable error))completionHandler
 {
-    [self readAttributeTimedWriteBooleanWithCompletion:completionHandler];
+    [self readAttributeTimedWriteBooleanWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeTimedWriteBooleanWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134245,7 +144255,10 @@
     }
     [self subscribeAttributeTimedWriteBooleanWithParams:subscribeParams
                                 subscriptionEstablished:subscriptionEstablishedHandler
-                                          reportHandler:reportHandler];
+                                          reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              reportHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 + (void)readAttributeTimedWriteBooleanWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                 endpoint:(NSNumber *)endpoint
@@ -134256,13 +144269,19 @@
     [self readAttributeTimedWriteBooleanWithAttributeCache:attributeCacheContainer
                                                   endpoint:endpoint
                                                      queue:queue
-                                                completion:completionHandler];
+                                                completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                    // Cast is safe because subclass does not add any selectors.
+                                                    completionHandler(static_cast<NSNumber *>(value), error);
+                                                }];
 }
 
 - (void)readAttributeGeneralErrorBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneralErrorBooleanWithCompletion:completionHandler];
+    [self readAttributeGeneralErrorBooleanWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeGeneralErrorBooleanWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -134292,7 +144311,10 @@
     }
     [self subscribeAttributeGeneralErrorBooleanWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeGeneralErrorBooleanWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -134303,13 +144325,19 @@
     [self readAttributeGeneralErrorBooleanWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeClusterErrorBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterErrorBooleanWithCompletion:completionHandler];
+    [self readAttributeClusterErrorBooleanWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeClusterErrorBooleanWithValue:(NSNumber * _Nonnull)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -134339,7 +144367,10 @@
     }
     [self subscribeAttributeClusterErrorBooleanWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeClusterErrorBooleanWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -134350,13 +144381,19 @@
     [self readAttributeClusterErrorBooleanWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeUnsupportedWithCompletionHandler:(void (^)(
                                                           NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeUnsupportedWithCompletion:completionHandler];
+    [self readAttributeUnsupportedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeUnsupportedWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134383,7 +144420,10 @@
     }
     [self subscribeAttributeUnsupportedWithParams:subscribeParams
                           subscriptionEstablished:subscriptionEstablishedHandler
-                                    reportHandler:reportHandler];
+                                    reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                        // Cast is safe because subclass does not add any selectors.
+                                        reportHandler(static_cast<NSNumber *>(value), error);
+                                    }];
 }
 + (void)readAttributeUnsupportedWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                           endpoint:(NSNumber *)endpoint
@@ -134394,13 +144434,19 @@
     [self readAttributeUnsupportedWithAttributeCache:attributeCacheContainer
                                             endpoint:endpoint
                                                queue:queue
-                                          completion:completionHandler];
+                                          completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                              // Cast is safe because subclass does not add any selectors.
+                                              completionHandler(static_cast<NSNumber *>(value), error);
+                                          }];
 }
 
 - (void)readAttributeNullableBooleanWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableBooleanWithCompletion:completionHandler];
+    [self readAttributeNullableBooleanWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableBooleanWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134428,7 +144474,10 @@
     }
     [self subscribeAttributeNullableBooleanWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeNullableBooleanWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -134439,13 +144488,19 @@
     [self readAttributeNullableBooleanWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeNullableBitmap8WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableBitmap8WithCompletion:completionHandler];
+    [self readAttributeNullableBitmap8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableBitmap8WithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134473,7 +144528,10 @@
     }
     [self subscribeAttributeNullableBitmap8WithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeNullableBitmap8WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -134484,13 +144542,19 @@
     [self readAttributeNullableBitmap8WithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (void)readAttributeNullableBitmap16WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableBitmap16WithCompletion:completionHandler];
+    [self readAttributeNullableBitmap16WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableBitmap16WithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134518,7 +144582,10 @@
     }
     [self subscribeAttributeNullableBitmap16WithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeNullableBitmap16WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -134529,13 +144596,19 @@
     [self readAttributeNullableBitmap16WithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeNullableBitmap32WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableBitmap32WithCompletion:completionHandler];
+    [self readAttributeNullableBitmap32WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableBitmap32WithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134563,7 +144636,10 @@
     }
     [self subscribeAttributeNullableBitmap32WithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeNullableBitmap32WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -134574,13 +144650,19 @@
     [self readAttributeNullableBitmap32WithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeNullableBitmap64WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableBitmap64WithCompletion:completionHandler];
+    [self readAttributeNullableBitmap64WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableBitmap64WithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134608,7 +144690,10 @@
     }
     [self subscribeAttributeNullableBitmap64WithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeNullableBitmap64WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -134619,13 +144704,19 @@
     [self readAttributeNullableBitmap64WithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
 - (void)readAttributeNullableInt8uWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt8uWithCompletion:completionHandler];
+    [self readAttributeNullableInt8uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt8uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134653,7 +144744,10 @@
     }
     [self subscribeAttributeNullableInt8uWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeNullableInt8uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -134664,13 +144758,19 @@
     [self readAttributeNullableInt8uWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeNullableInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt16uWithCompletion:completionHandler];
+    [self readAttributeNullableInt16uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt16uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134698,7 +144798,10 @@
     }
     [self subscribeAttributeNullableInt16uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt16uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -134709,13 +144812,19 @@
     [self readAttributeNullableInt16uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt24uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt24uWithCompletion:completionHandler];
+    [self readAttributeNullableInt24uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt24uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134743,7 +144852,10 @@
     }
     [self subscribeAttributeNullableInt24uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt24uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -134754,13 +144866,19 @@
     [self readAttributeNullableInt24uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt32uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt32uWithCompletion:completionHandler];
+    [self readAttributeNullableInt32uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt32uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134788,7 +144906,10 @@
     }
     [self subscribeAttributeNullableInt32uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt32uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -134799,13 +144920,19 @@
     [self readAttributeNullableInt32uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt40uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt40uWithCompletion:completionHandler];
+    [self readAttributeNullableInt40uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt40uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134833,7 +144960,10 @@
     }
     [self subscribeAttributeNullableInt40uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt40uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -134844,13 +144974,19 @@
     [self readAttributeNullableInt40uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt48uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt48uWithCompletion:completionHandler];
+    [self readAttributeNullableInt48uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt48uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134878,7 +145014,10 @@
     }
     [self subscribeAttributeNullableInt48uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt48uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -134889,13 +145028,19 @@
     [self readAttributeNullableInt48uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt56uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt56uWithCompletion:completionHandler];
+    [self readAttributeNullableInt56uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt56uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134923,7 +145068,10 @@
     }
     [self subscribeAttributeNullableInt56uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt56uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -134934,13 +145082,19 @@
     [self readAttributeNullableInt56uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt64uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt64uWithCompletion:completionHandler];
+    [self readAttributeNullableInt64uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt64uWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -134968,7 +145122,10 @@
     }
     [self subscribeAttributeNullableInt64uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt64uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -134979,13 +145136,19 @@
     [self readAttributeNullableInt64uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt8sWithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt8sWithCompletion:completionHandler];
+    [self readAttributeNullableInt8sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt8sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135013,7 +145176,10 @@
     }
     [self subscribeAttributeNullableInt8sWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeNullableInt8sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -135024,13 +145190,19 @@
     [self readAttributeNullableInt8sWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeNullableInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt16sWithCompletion:completionHandler];
+    [self readAttributeNullableInt16sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt16sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135058,7 +145230,10 @@
     }
     [self subscribeAttributeNullableInt16sWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt16sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135069,13 +145244,19 @@
     [self readAttributeNullableInt16sWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt24sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt24sWithCompletion:completionHandler];
+    [self readAttributeNullableInt24sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt24sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135103,7 +145284,10 @@
     }
     [self subscribeAttributeNullableInt24sWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt24sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135114,13 +145298,19 @@
     [self readAttributeNullableInt24sWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt32sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt32sWithCompletion:completionHandler];
+    [self readAttributeNullableInt32sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt32sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135148,7 +145338,10 @@
     }
     [self subscribeAttributeNullableInt32sWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt32sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135159,13 +145352,19 @@
     [self readAttributeNullableInt32sWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt40sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt40sWithCompletion:completionHandler];
+    [self readAttributeNullableInt40sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt40sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135193,7 +145392,10 @@
     }
     [self subscribeAttributeNullableInt40sWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt40sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135204,13 +145406,19 @@
     [self readAttributeNullableInt40sWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt48sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt48sWithCompletion:completionHandler];
+    [self readAttributeNullableInt48sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt48sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135238,7 +145446,10 @@
     }
     [self subscribeAttributeNullableInt48sWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt48sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135249,13 +145460,19 @@
     [self readAttributeNullableInt48sWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt56sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt56sWithCompletion:completionHandler];
+    [self readAttributeNullableInt56sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt56sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135283,7 +145500,10 @@
     }
     [self subscribeAttributeNullableInt56sWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt56sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135294,13 +145514,19 @@
     [self readAttributeNullableInt56sWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableInt64sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableInt64sWithCompletion:completionHandler];
+    [self readAttributeNullableInt64sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableInt64sWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135328,7 +145554,10 @@
     }
     [self subscribeAttributeNullableInt64sWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableInt64sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135339,13 +145568,19 @@
     [self readAttributeNullableInt64sWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableEnum8WithCompletionHandler:(void (^)(
                                                             NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableEnum8WithCompletion:completionHandler];
+    [self readAttributeNullableEnum8WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableEnum8WithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135373,7 +145608,10 @@
     }
     [self subscribeAttributeNullableEnum8WithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                      }];
 }
 + (void)readAttributeNullableEnum8WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -135384,13 +145622,19 @@
     [self readAttributeNullableEnum8WithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeNullableEnum16WithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableEnum16WithCompletion:completionHandler];
+    [self readAttributeNullableEnum16WithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableEnum16WithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135418,7 +145662,10 @@
     }
     [self subscribeAttributeNullableEnum16WithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableEnum16WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135429,13 +145676,19 @@
     [self readAttributeNullableEnum16WithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableFloatSingleWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableFloatSingleWithCompletion:completionHandler];
+    [self readAttributeNullableFloatSingleWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableFloatSingleWithValue:(NSNumber * _Nullable)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -135465,7 +145718,10 @@
     }
     [self subscribeAttributeNullableFloatSingleWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeNullableFloatSingleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -135476,13 +145732,19 @@
     [self readAttributeNullableFloatSingleWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeNullableFloatDoubleWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableFloatDoubleWithCompletion:completionHandler];
+    [self readAttributeNullableFloatDoubleWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableFloatDoubleWithValue:(NSNumber * _Nullable)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -135512,7 +145774,10 @@
     }
     [self subscribeAttributeNullableFloatDoubleWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSNumber *>(value), error);
+                                            }];
 }
 + (void)readAttributeNullableFloatDoubleWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -135523,13 +145788,19 @@
     [self readAttributeNullableFloatDoubleWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSNumber *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeNullableOctetStringWithCompletionHandler:(void (^)(NSData * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableOctetStringWithCompletion:completionHandler];
+    [self readAttributeNullableOctetStringWithCompletion:^(NSData * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSData *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableOctetStringWithValue:(NSData * _Nullable)value
                                  completionHandler:(MTRStatusCompletion)completionHandler
@@ -135559,7 +145830,10 @@
     }
     [self subscribeAttributeNullableOctetStringWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSData *>(value), error);
+                                            }];
 }
 + (void)readAttributeNullableOctetStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -135570,13 +145844,19 @@
     [self readAttributeNullableOctetStringWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSData * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSData *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeNullableCharStringWithCompletionHandler:(void (^)(NSString * _Nullable value,
                                                                  NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableCharStringWithCompletion:completionHandler];
+    [self readAttributeNullableCharStringWithCompletion:^(NSString * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSString *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableCharStringWithValue:(NSString * _Nullable)value
                                 completionHandler:(MTRStatusCompletion)completionHandler
@@ -135606,7 +145886,10 @@
     }
     [self subscribeAttributeNullableCharStringWithParams:subscribeParams
                                  subscriptionEstablished:subscriptionEstablishedHandler
-                                           reportHandler:reportHandler];
+                                           reportHandler:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                               // Cast is safe because subclass does not add any selectors.
+                                               reportHandler(static_cast<NSString *>(value), error);
+                                           }];
 }
 + (void)readAttributeNullableCharStringWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                  endpoint:(NSNumber *)endpoint
@@ -135617,13 +145900,19 @@
     [self readAttributeNullableCharStringWithAttributeCache:attributeCacheContainer
                                                    endpoint:endpoint
                                                       queue:queue
-                                                 completion:completionHandler];
+                                                 completion:^(NSString * _Nullable value, NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(static_cast<NSString *>(value), error);
+                                                 }];
 }
 
 - (void)readAttributeNullableEnumAttrWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableEnumAttrWithCompletion:completionHandler];
+    [self readAttributeNullableEnumAttrWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableEnumAttrWithValue:(NSNumber * _Nullable)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135651,7 +145940,10 @@
     }
     [self subscribeAttributeNullableEnumAttrWithParams:subscribeParams
                                subscriptionEstablished:subscriptionEstablishedHandler
-                                         reportHandler:reportHandler];
+                                         reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             reportHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 + (void)readAttributeNullableEnumAttrWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                endpoint:(NSNumber *)endpoint
@@ -135662,20 +145954,27 @@
     [self readAttributeNullableEnumAttrWithAttributeCache:attributeCacheContainer
                                                  endpoint:endpoint
                                                     queue:queue
-                                               completion:completionHandler];
+                                               completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                   // Cast is safe because subclass does not add any selectors.
+                                                   completionHandler(static_cast<NSNumber *>(value), error);
+                                               }];
 }
 
-- (void)readAttributeNullableStructWithCompletionHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+- (void)readAttributeNullableStructWithCompletionHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableStructWithCompletion:completionHandler];
+    [self readAttributeNullableStructWithCompletion:^(
+        MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<MTRTestClusterClusterSimpleStruct *>(value), error);
+    }];
 }
-- (void)writeAttributeNullableStructWithValue:(MTRUnitTestingClusterSimpleStruct * _Nullable)value
+- (void)writeAttributeNullableStructWithValue:(MTRTestClusterClusterSimpleStruct * _Nullable)value
                             completionHandler:(MTRStatusCompletion)completionHandler
 {
     [self writeAttributeNullableStructWithValue:value params:nil completion:completionHandler];
 }
-- (void)writeAttributeNullableStructWithValue:(MTRUnitTestingClusterSimpleStruct * _Nullable)value
+- (void)writeAttributeNullableStructWithValue:(MTRTestClusterClusterSimpleStruct * _Nullable)value
                                        params:(MTRWriteParams * _Nullable)params
                             completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135685,7 +145984,7 @@
                                             maxInterval:(NSNumber * _Nonnull)maxInterval
                                                  params:(MTRSubscribeParams * _Nullable)params
                                 subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler
-                                          reportHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                          reportHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                             NSError * _Nullable error))reportHandler
 {
     MTRSubscribeParams * _Nullable subscribeParams = [params copy];
@@ -135697,24 +145996,35 @@
     }
     [self subscribeAttributeNullableStructWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(
+                                           MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<MTRTestClusterClusterSimpleStruct *>(value), error);
+                                       }];
 }
 + (void)readAttributeNullableStructWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
                                                 queue:(dispatch_queue_t)queue
-                                    completionHandler:(void (^)(MTRUnitTestingClusterSimpleStruct * _Nullable value,
+                                    completionHandler:(void (^)(MTRTestClusterClusterSimpleStruct * _Nullable value,
                                                           NSError * _Nullable error))completionHandler
 {
     [self readAttributeNullableStructWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(
+                                                 MTRUnitTestingClusterSimpleStruct * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<MTRTestClusterClusterSimpleStruct *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeNullableRangeRestrictedInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableRangeRestrictedInt8uWithCompletion:completionHandler];
+    [self readAttributeNullableRangeRestrictedInt8uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSNumber * _Nullable)value
                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -135744,7 +146054,10 @@
     }
     [self subscribeAttributeNullableRangeRestrictedInt8uWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeNullableRangeRestrictedInt8uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -135755,13 +146068,19 @@
     [self readAttributeNullableRangeRestrictedInt8uWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeNullableRangeRestrictedInt8sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                            NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableRangeRestrictedInt8sWithCompletion:completionHandler];
+    [self readAttributeNullableRangeRestrictedInt8sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSNumber * _Nullable)value
                                           completionHandler:(MTRStatusCompletion)completionHandler
@@ -135791,7 +146110,10 @@
     }
     [self subscribeAttributeNullableRangeRestrictedInt8sWithParams:subscribeParams
                                            subscriptionEstablished:subscriptionEstablishedHandler
-                                                     reportHandler:reportHandler];
+                                                     reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                         // Cast is safe because subclass does not add any selectors.
+                                                         reportHandler(static_cast<NSNumber *>(value), error);
+                                                     }];
 }
 + (void)readAttributeNullableRangeRestrictedInt8sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                            endpoint:(NSNumber *)endpoint
@@ -135802,13 +146124,19 @@
     [self readAttributeNullableRangeRestrictedInt8sWithAttributeCache:attributeCacheContainer
                                                              endpoint:endpoint
                                                                 queue:queue
-                                                           completion:completionHandler];
+                                                           completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                               // Cast is safe because subclass does not add any selectors.
+                                                               completionHandler(static_cast<NSNumber *>(value), error);
+                                                           }];
 }
 
 - (void)readAttributeNullableRangeRestrictedInt16uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableRangeRestrictedInt16uWithCompletion:completionHandler];
+    [self readAttributeNullableRangeRestrictedInt16uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSNumber * _Nullable)value
                                            completionHandler:(MTRStatusCompletion)completionHandler
@@ -135838,7 +146166,10 @@
     }
     [self subscribeAttributeNullableRangeRestrictedInt16uWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeNullableRangeRestrictedInt16uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -135849,13 +146180,19 @@
     [self readAttributeNullableRangeRestrictedInt16uWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeNullableRangeRestrictedInt16sWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                                             NSError * _Nullable error))completionHandler
 {
-    [self readAttributeNullableRangeRestrictedInt16sWithCompletion:completionHandler];
+    [self readAttributeNullableRangeRestrictedInt16sWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSNumber * _Nullable)value
                                            completionHandler:(MTRStatusCompletion)completionHandler
@@ -135885,7 +146222,10 @@
     }
     [self subscribeAttributeNullableRangeRestrictedInt16sWithParams:subscribeParams
                                             subscriptionEstablished:subscriptionEstablishedHandler
-                                                      reportHandler:reportHandler];
+                                                      reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                          // Cast is safe because subclass does not add any selectors.
+                                                          reportHandler(static_cast<NSNumber *>(value), error);
+                                                      }];
 }
 + (void)readAttributeNullableRangeRestrictedInt16sWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                             endpoint:(NSNumber *)endpoint
@@ -135896,13 +146236,19 @@
     [self readAttributeNullableRangeRestrictedInt16sWithAttributeCache:attributeCacheContainer
                                                               endpoint:endpoint
                                                                  queue:queue
-                                                            completion:completionHandler];
+                                                            completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                                // Cast is safe because subclass does not add any selectors.
+                                                                completionHandler(static_cast<NSNumber *>(value), error);
+                                                            }];
 }
 
 - (void)readAttributeWriteOnlyInt8uWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                              NSError * _Nullable error))completionHandler
 {
-    [self readAttributeWriteOnlyInt8uWithCompletion:completionHandler];
+    [self readAttributeWriteOnlyInt8uWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)writeAttributeWriteOnlyInt8uWithValue:(NSNumber * _Nonnull)value completionHandler:(MTRStatusCompletion)completionHandler
 {
@@ -135930,7 +146276,10 @@
     }
     [self subscribeAttributeWriteOnlyInt8uWithParams:subscribeParams
                              subscriptionEstablished:subscriptionEstablishedHandler
-                                       reportHandler:reportHandler];
+                                       reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                           // Cast is safe because subclass does not add any selectors.
+                                           reportHandler(static_cast<NSNumber *>(value), error);
+                                       }];
 }
 + (void)readAttributeWriteOnlyInt8uWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                              endpoint:(NSNumber *)endpoint
@@ -135941,13 +146290,19 @@
     [self readAttributeWriteOnlyInt8uWithAttributeCache:attributeCacheContainer
                                                endpoint:endpoint
                                                   queue:queue
-                                             completion:completionHandler];
+                                             completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(static_cast<NSNumber *>(value), error);
+                                             }];
 }
 
 - (void)readAttributeGeneratedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                    NSError * _Nullable error))completionHandler
 {
-    [self readAttributeGeneratedCommandListWithCompletion:completionHandler];
+    [self readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeGeneratedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                   maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -135966,7 +146321,10 @@
     }
     [self subscribeAttributeGeneratedCommandListWithParams:subscribeParams
                                    subscriptionEstablished:subscriptionEstablishedHandler
-                                             reportHandler:reportHandler];
+                                             reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 reportHandler(static_cast<NSArray *>(value), error);
+                                             }];
 }
 + (void)readAttributeGeneratedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                    endpoint:(NSNumber *)endpoint
@@ -135977,13 +146335,19 @@
     [self readAttributeGeneratedCommandListWithAttributeCache:attributeCacheContainer
                                                      endpoint:endpoint
                                                         queue:queue
-                                                   completion:completionHandler];
+                                                   completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                       // Cast is safe because subclass does not add any selectors.
+                                                       completionHandler(static_cast<NSArray *>(value), error);
+                                                   }];
 }
 
 - (void)readAttributeAcceptedCommandListWithCompletionHandler:(void (^)(NSArray * _Nullable value,
                                                                   NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAcceptedCommandListWithCompletion:completionHandler];
+    [self readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAcceptedCommandListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                                  maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -136002,7 +146366,10 @@
     }
     [self subscribeAttributeAcceptedCommandListWithParams:subscribeParams
                                   subscriptionEstablished:subscriptionEstablishedHandler
-                                            reportHandler:reportHandler];
+                                            reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                reportHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 + (void)readAttributeAcceptedCommandListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                                   endpoint:(NSNumber *)endpoint
@@ -136013,13 +146380,19 @@
     [self readAttributeAcceptedCommandListWithAttributeCache:attributeCacheContainer
                                                     endpoint:endpoint
                                                        queue:queue
-                                                  completion:completionHandler];
+                                                  completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                      // Cast is safe because subclass does not add any selectors.
+                                                      completionHandler(static_cast<NSArray *>(value), error);
+                                                  }];
 }
 
 - (void)readAttributeAttributeListWithCompletionHandler:(void (^)(
                                                             NSArray * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeAttributeListWithCompletion:completionHandler];
+    [self readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSArray *>(value), error);
+    }];
 }
 - (void)subscribeAttributeAttributeListWithMinInterval:(NSNumber * _Nonnull)minInterval
                                            maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -136036,7 +146409,10 @@
     }
     [self subscribeAttributeAttributeListWithParams:subscribeParams
                             subscriptionEstablished:subscriptionEstablishedHandler
-                                      reportHandler:reportHandler];
+                                      reportHandler:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          reportHandler(static_cast<NSArray *>(value), error);
+                                      }];
 }
 + (void)readAttributeAttributeListWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                             endpoint:(NSNumber *)endpoint
@@ -136047,13 +146423,19 @@
     [self readAttributeAttributeListWithAttributeCache:attributeCacheContainer
                                               endpoint:endpoint
                                                  queue:queue
-                                            completion:completionHandler];
+                                            completion:^(NSArray * _Nullable value, NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(static_cast<NSArray *>(value), error);
+                                            }];
 }
 
 - (void)readAttributeFeatureMapWithCompletionHandler:(void (^)(
                                                          NSNumber * _Nullable value, NSError * _Nullable error))completionHandler
 {
-    [self readAttributeFeatureMapWithCompletion:completionHandler];
+    [self readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeFeatureMapWithMinInterval:(NSNumber * _Nonnull)minInterval
                                         maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -136070,7 +146452,10 @@
     }
     [self subscribeAttributeFeatureMapWithParams:subscribeParams
                          subscriptionEstablished:subscriptionEstablishedHandler
-                                   reportHandler:reportHandler];
+                                   reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       reportHandler(static_cast<NSNumber *>(value), error);
+                                   }];
 }
 + (void)readAttributeFeatureMapWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                          endpoint:(NSNumber *)endpoint
@@ -136080,13 +146465,19 @@
     [self readAttributeFeatureMapWithAttributeCache:attributeCacheContainer
                                            endpoint:endpoint
                                               queue:queue
-                                         completion:completionHandler];
+                                         completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(static_cast<NSNumber *>(value), error);
+                                         }];
 }
 
 - (void)readAttributeClusterRevisionWithCompletionHandler:(void (^)(NSNumber * _Nullable value,
                                                               NSError * _Nullable error))completionHandler
 {
-    [self readAttributeClusterRevisionWithCompletion:completionHandler];
+    [self readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+        // Cast is safe because subclass does not add any selectors.
+        completionHandler(static_cast<NSNumber *>(value), error);
+    }];
 }
 - (void)subscribeAttributeClusterRevisionWithMinInterval:(NSNumber * _Nonnull)minInterval
                                              maxInterval:(NSNumber * _Nonnull)maxInterval
@@ -136104,7 +146495,10 @@
     }
     [self subscribeAttributeClusterRevisionWithParams:subscribeParams
                               subscriptionEstablished:subscriptionEstablishedHandler
-                                        reportHandler:reportHandler];
+                                        reportHandler:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            reportHandler(static_cast<NSNumber *>(value), error);
+                                        }];
 }
 + (void)readAttributeClusterRevisionWithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer
                                               endpoint:(NSNumber *)endpoint
@@ -136115,7 +146509,10 @@
     [self readAttributeClusterRevisionWithAttributeCache:attributeCacheContainer
                                                 endpoint:endpoint
                                                    queue:queue
-                                              completion:completionHandler];
+                                              completion:^(NSNumber * _Nullable value, NSError * _Nullable error) {
+                                                  // Cast is safe because subclass does not add any selectors.
+                                                  completionHandler(static_cast<NSNumber *>(value), error);
+                                              }];
 }
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
index 8b74552..376d759 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
@@ -90,7 +90,8 @@
     MTRClusterApplicationBasicID = 0x0000050D,
     MTRClusterAccountLoginID = 0x0000050E,
     MTRClusterElectricalMeasurementID = 0x00000B04,
-    MTRClusterUnitTestingID = 0xFFF1FC05,
+    MTRClusterUnitTestingID MTR_NEWLY_AVAILABLE = 0xFFF1FC05,
+    MTRClusterTestClusterID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingID") = 0xFFF1FC05,
     MTRClusterFaultInjectionID = 0xFFF1FC06,
 };
 
@@ -1279,94 +1280,270 @@
     MTRClusterElectricalMeasurementAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
     // Cluster UnitTesting attributes
-    MTRClusterUnitTestingAttributeBooleanID = 0x00000000,
-    MTRClusterUnitTestingAttributeBitmap8ID = 0x00000001,
-    MTRClusterUnitTestingAttributeBitmap16ID = 0x00000002,
-    MTRClusterUnitTestingAttributeBitmap32ID = 0x00000003,
-    MTRClusterUnitTestingAttributeBitmap64ID = 0x00000004,
-    MTRClusterUnitTestingAttributeInt8uID = 0x00000005,
-    MTRClusterUnitTestingAttributeInt16uID = 0x00000006,
-    MTRClusterUnitTestingAttributeInt24uID = 0x00000007,
-    MTRClusterUnitTestingAttributeInt32uID = 0x00000008,
-    MTRClusterUnitTestingAttributeInt40uID = 0x00000009,
-    MTRClusterUnitTestingAttributeInt48uID = 0x0000000A,
-    MTRClusterUnitTestingAttributeInt56uID = 0x0000000B,
-    MTRClusterUnitTestingAttributeInt64uID = 0x0000000C,
-    MTRClusterUnitTestingAttributeInt8sID = 0x0000000D,
-    MTRClusterUnitTestingAttributeInt16sID = 0x0000000E,
-    MTRClusterUnitTestingAttributeInt24sID = 0x0000000F,
-    MTRClusterUnitTestingAttributeInt32sID = 0x00000010,
-    MTRClusterUnitTestingAttributeInt40sID = 0x00000011,
-    MTRClusterUnitTestingAttributeInt48sID = 0x00000012,
-    MTRClusterUnitTestingAttributeInt56sID = 0x00000013,
-    MTRClusterUnitTestingAttributeInt64sID = 0x00000014,
-    MTRClusterUnitTestingAttributeEnum8ID = 0x00000015,
-    MTRClusterUnitTestingAttributeEnum16ID = 0x00000016,
-    MTRClusterUnitTestingAttributeFloatSingleID = 0x00000017,
-    MTRClusterUnitTestingAttributeFloatDoubleID = 0x00000018,
-    MTRClusterUnitTestingAttributeOctetStringID = 0x00000019,
-    MTRClusterUnitTestingAttributeListInt8uID = 0x0000001A,
-    MTRClusterUnitTestingAttributeListOctetStringID = 0x0000001B,
-    MTRClusterUnitTestingAttributeListStructOctetStringID = 0x0000001C,
-    MTRClusterUnitTestingAttributeLongOctetStringID = 0x0000001D,
-    MTRClusterUnitTestingAttributeCharStringID = 0x0000001E,
-    MTRClusterUnitTestingAttributeLongCharStringID = 0x0000001F,
-    MTRClusterUnitTestingAttributeEpochUsID = 0x00000020,
-    MTRClusterUnitTestingAttributeEpochSID = 0x00000021,
-    MTRClusterUnitTestingAttributeVendorIdID = 0x00000022,
-    MTRClusterUnitTestingAttributeListNullablesAndOptionalsStructID = 0x00000023,
-    MTRClusterUnitTestingAttributeEnumAttrID = 0x00000024,
-    MTRClusterUnitTestingAttributeStructAttrID = 0x00000025,
-    MTRClusterUnitTestingAttributeRangeRestrictedInt8uID = 0x00000026,
-    MTRClusterUnitTestingAttributeRangeRestrictedInt8sID = 0x00000027,
-    MTRClusterUnitTestingAttributeRangeRestrictedInt16uID = 0x00000028,
-    MTRClusterUnitTestingAttributeRangeRestrictedInt16sID = 0x00000029,
-    MTRClusterUnitTestingAttributeListLongOctetStringID = 0x0000002A,
-    MTRClusterUnitTestingAttributeListFabricScopedID = 0x0000002B,
-    MTRClusterUnitTestingAttributeTimedWriteBooleanID = 0x00000030,
-    MTRClusterUnitTestingAttributeGeneralErrorBooleanID = 0x00000031,
-    MTRClusterUnitTestingAttributeClusterErrorBooleanID = 0x00000032,
-    MTRClusterUnitTestingAttributeUnsupportedID = 0x000000FF,
-    MTRClusterUnitTestingAttributeNullableBooleanID = 0x00004000,
-    MTRClusterUnitTestingAttributeNullableBitmap8ID = 0x00004001,
-    MTRClusterUnitTestingAttributeNullableBitmap16ID = 0x00004002,
-    MTRClusterUnitTestingAttributeNullableBitmap32ID = 0x00004003,
-    MTRClusterUnitTestingAttributeNullableBitmap64ID = 0x00004004,
-    MTRClusterUnitTestingAttributeNullableInt8uID = 0x00004005,
-    MTRClusterUnitTestingAttributeNullableInt16uID = 0x00004006,
-    MTRClusterUnitTestingAttributeNullableInt24uID = 0x00004007,
-    MTRClusterUnitTestingAttributeNullableInt32uID = 0x00004008,
-    MTRClusterUnitTestingAttributeNullableInt40uID = 0x00004009,
-    MTRClusterUnitTestingAttributeNullableInt48uID = 0x0000400A,
-    MTRClusterUnitTestingAttributeNullableInt56uID = 0x0000400B,
-    MTRClusterUnitTestingAttributeNullableInt64uID = 0x0000400C,
-    MTRClusterUnitTestingAttributeNullableInt8sID = 0x0000400D,
-    MTRClusterUnitTestingAttributeNullableInt16sID = 0x0000400E,
-    MTRClusterUnitTestingAttributeNullableInt24sID = 0x0000400F,
-    MTRClusterUnitTestingAttributeNullableInt32sID = 0x00004010,
-    MTRClusterUnitTestingAttributeNullableInt40sID = 0x00004011,
-    MTRClusterUnitTestingAttributeNullableInt48sID = 0x00004012,
-    MTRClusterUnitTestingAttributeNullableInt56sID = 0x00004013,
-    MTRClusterUnitTestingAttributeNullableInt64sID = 0x00004014,
-    MTRClusterUnitTestingAttributeNullableEnum8ID = 0x00004015,
-    MTRClusterUnitTestingAttributeNullableEnum16ID = 0x00004016,
-    MTRClusterUnitTestingAttributeNullableFloatSingleID = 0x00004017,
-    MTRClusterUnitTestingAttributeNullableFloatDoubleID = 0x00004018,
-    MTRClusterUnitTestingAttributeNullableOctetStringID = 0x00004019,
-    MTRClusterUnitTestingAttributeNullableCharStringID = 0x0000401E,
-    MTRClusterUnitTestingAttributeNullableEnumAttrID = 0x00004024,
-    MTRClusterUnitTestingAttributeNullableStructID = 0x00004025,
-    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt8uID = 0x00004026,
-    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt8sID = 0x00004027,
-    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt16uID = 0x00004028,
-    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt16sID = 0x00004029,
-    MTRClusterUnitTestingAttributeWriteOnlyInt8uID = 0x0000402A,
+    MTRClusterUnitTestingAttributeBooleanID MTR_NEWLY_AVAILABLE = 0x00000000,
+    MTRClusterUnitTestingAttributeBitmap8ID MTR_NEWLY_AVAILABLE = 0x00000001,
+    MTRClusterUnitTestingAttributeBitmap16ID MTR_NEWLY_AVAILABLE = 0x00000002,
+    MTRClusterUnitTestingAttributeBitmap32ID MTR_NEWLY_AVAILABLE = 0x00000003,
+    MTRClusterUnitTestingAttributeBitmap64ID MTR_NEWLY_AVAILABLE = 0x00000004,
+    MTRClusterUnitTestingAttributeInt8uID MTR_NEWLY_AVAILABLE = 0x00000005,
+    MTRClusterUnitTestingAttributeInt16uID MTR_NEWLY_AVAILABLE = 0x00000006,
+    MTRClusterUnitTestingAttributeInt24uID MTR_NEWLY_AVAILABLE = 0x00000007,
+    MTRClusterUnitTestingAttributeInt32uID MTR_NEWLY_AVAILABLE = 0x00000008,
+    MTRClusterUnitTestingAttributeInt40uID MTR_NEWLY_AVAILABLE = 0x00000009,
+    MTRClusterUnitTestingAttributeInt48uID MTR_NEWLY_AVAILABLE = 0x0000000A,
+    MTRClusterUnitTestingAttributeInt56uID MTR_NEWLY_AVAILABLE = 0x0000000B,
+    MTRClusterUnitTestingAttributeInt64uID MTR_NEWLY_AVAILABLE = 0x0000000C,
+    MTRClusterUnitTestingAttributeInt8sID MTR_NEWLY_AVAILABLE = 0x0000000D,
+    MTRClusterUnitTestingAttributeInt16sID MTR_NEWLY_AVAILABLE = 0x0000000E,
+    MTRClusterUnitTestingAttributeInt24sID MTR_NEWLY_AVAILABLE = 0x0000000F,
+    MTRClusterUnitTestingAttributeInt32sID MTR_NEWLY_AVAILABLE = 0x00000010,
+    MTRClusterUnitTestingAttributeInt40sID MTR_NEWLY_AVAILABLE = 0x00000011,
+    MTRClusterUnitTestingAttributeInt48sID MTR_NEWLY_AVAILABLE = 0x00000012,
+    MTRClusterUnitTestingAttributeInt56sID MTR_NEWLY_AVAILABLE = 0x00000013,
+    MTRClusterUnitTestingAttributeInt64sID MTR_NEWLY_AVAILABLE = 0x00000014,
+    MTRClusterUnitTestingAttributeEnum8ID MTR_NEWLY_AVAILABLE = 0x00000015,
+    MTRClusterUnitTestingAttributeEnum16ID MTR_NEWLY_AVAILABLE = 0x00000016,
+    MTRClusterUnitTestingAttributeFloatSingleID MTR_NEWLY_AVAILABLE = 0x00000017,
+    MTRClusterUnitTestingAttributeFloatDoubleID MTR_NEWLY_AVAILABLE = 0x00000018,
+    MTRClusterUnitTestingAttributeOctetStringID MTR_NEWLY_AVAILABLE = 0x00000019,
+    MTRClusterUnitTestingAttributeListInt8uID MTR_NEWLY_AVAILABLE = 0x0000001A,
+    MTRClusterUnitTestingAttributeListOctetStringID MTR_NEWLY_AVAILABLE = 0x0000001B,
+    MTRClusterUnitTestingAttributeListStructOctetStringID MTR_NEWLY_AVAILABLE = 0x0000001C,
+    MTRClusterUnitTestingAttributeLongOctetStringID MTR_NEWLY_AVAILABLE = 0x0000001D,
+    MTRClusterUnitTestingAttributeCharStringID MTR_NEWLY_AVAILABLE = 0x0000001E,
+    MTRClusterUnitTestingAttributeLongCharStringID MTR_NEWLY_AVAILABLE = 0x0000001F,
+    MTRClusterUnitTestingAttributeEpochUsID MTR_NEWLY_AVAILABLE = 0x00000020,
+    MTRClusterUnitTestingAttributeEpochSID MTR_NEWLY_AVAILABLE = 0x00000021,
+    MTRClusterUnitTestingAttributeVendorIdID MTR_NEWLY_AVAILABLE = 0x00000022,
+    MTRClusterUnitTestingAttributeListNullablesAndOptionalsStructID MTR_NEWLY_AVAILABLE = 0x00000023,
+    MTRClusterUnitTestingAttributeEnumAttrID MTR_NEWLY_AVAILABLE = 0x00000024,
+    MTRClusterUnitTestingAttributeStructAttrID MTR_NEWLY_AVAILABLE = 0x00000025,
+    MTRClusterUnitTestingAttributeRangeRestrictedInt8uID MTR_NEWLY_AVAILABLE = 0x00000026,
+    MTRClusterUnitTestingAttributeRangeRestrictedInt8sID MTR_NEWLY_AVAILABLE = 0x00000027,
+    MTRClusterUnitTestingAttributeRangeRestrictedInt16uID MTR_NEWLY_AVAILABLE = 0x00000028,
+    MTRClusterUnitTestingAttributeRangeRestrictedInt16sID MTR_NEWLY_AVAILABLE = 0x00000029,
+    MTRClusterUnitTestingAttributeListLongOctetStringID MTR_NEWLY_AVAILABLE = 0x0000002A,
+    MTRClusterUnitTestingAttributeListFabricScopedID MTR_NEWLY_AVAILABLE = 0x0000002B,
+    MTRClusterUnitTestingAttributeTimedWriteBooleanID MTR_NEWLY_AVAILABLE = 0x00000030,
+    MTRClusterUnitTestingAttributeGeneralErrorBooleanID MTR_NEWLY_AVAILABLE = 0x00000031,
+    MTRClusterUnitTestingAttributeClusterErrorBooleanID MTR_NEWLY_AVAILABLE = 0x00000032,
+    MTRClusterUnitTestingAttributeUnsupportedID MTR_NEWLY_AVAILABLE = 0x000000FF,
+    MTRClusterUnitTestingAttributeNullableBooleanID MTR_NEWLY_AVAILABLE = 0x00004000,
+    MTRClusterUnitTestingAttributeNullableBitmap8ID MTR_NEWLY_AVAILABLE = 0x00004001,
+    MTRClusterUnitTestingAttributeNullableBitmap16ID MTR_NEWLY_AVAILABLE = 0x00004002,
+    MTRClusterUnitTestingAttributeNullableBitmap32ID MTR_NEWLY_AVAILABLE = 0x00004003,
+    MTRClusterUnitTestingAttributeNullableBitmap64ID MTR_NEWLY_AVAILABLE = 0x00004004,
+    MTRClusterUnitTestingAttributeNullableInt8uID MTR_NEWLY_AVAILABLE = 0x00004005,
+    MTRClusterUnitTestingAttributeNullableInt16uID MTR_NEWLY_AVAILABLE = 0x00004006,
+    MTRClusterUnitTestingAttributeNullableInt24uID MTR_NEWLY_AVAILABLE = 0x00004007,
+    MTRClusterUnitTestingAttributeNullableInt32uID MTR_NEWLY_AVAILABLE = 0x00004008,
+    MTRClusterUnitTestingAttributeNullableInt40uID MTR_NEWLY_AVAILABLE = 0x00004009,
+    MTRClusterUnitTestingAttributeNullableInt48uID MTR_NEWLY_AVAILABLE = 0x0000400A,
+    MTRClusterUnitTestingAttributeNullableInt56uID MTR_NEWLY_AVAILABLE = 0x0000400B,
+    MTRClusterUnitTestingAttributeNullableInt64uID MTR_NEWLY_AVAILABLE = 0x0000400C,
+    MTRClusterUnitTestingAttributeNullableInt8sID MTR_NEWLY_AVAILABLE = 0x0000400D,
+    MTRClusterUnitTestingAttributeNullableInt16sID MTR_NEWLY_AVAILABLE = 0x0000400E,
+    MTRClusterUnitTestingAttributeNullableInt24sID MTR_NEWLY_AVAILABLE = 0x0000400F,
+    MTRClusterUnitTestingAttributeNullableInt32sID MTR_NEWLY_AVAILABLE = 0x00004010,
+    MTRClusterUnitTestingAttributeNullableInt40sID MTR_NEWLY_AVAILABLE = 0x00004011,
+    MTRClusterUnitTestingAttributeNullableInt48sID MTR_NEWLY_AVAILABLE = 0x00004012,
+    MTRClusterUnitTestingAttributeNullableInt56sID MTR_NEWLY_AVAILABLE = 0x00004013,
+    MTRClusterUnitTestingAttributeNullableInt64sID MTR_NEWLY_AVAILABLE = 0x00004014,
+    MTRClusterUnitTestingAttributeNullableEnum8ID MTR_NEWLY_AVAILABLE = 0x00004015,
+    MTRClusterUnitTestingAttributeNullableEnum16ID MTR_NEWLY_AVAILABLE = 0x00004016,
+    MTRClusterUnitTestingAttributeNullableFloatSingleID MTR_NEWLY_AVAILABLE = 0x00004017,
+    MTRClusterUnitTestingAttributeNullableFloatDoubleID MTR_NEWLY_AVAILABLE = 0x00004018,
+    MTRClusterUnitTestingAttributeNullableOctetStringID MTR_NEWLY_AVAILABLE = 0x00004019,
+    MTRClusterUnitTestingAttributeNullableCharStringID MTR_NEWLY_AVAILABLE = 0x0000401E,
+    MTRClusterUnitTestingAttributeNullableEnumAttrID MTR_NEWLY_AVAILABLE = 0x00004024,
+    MTRClusterUnitTestingAttributeNullableStructID MTR_NEWLY_AVAILABLE = 0x00004025,
+    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt8uID MTR_NEWLY_AVAILABLE = 0x00004026,
+    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt8sID MTR_NEWLY_AVAILABLE = 0x00004027,
+    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt16uID MTR_NEWLY_AVAILABLE = 0x00004028,
+    MTRClusterUnitTestingAttributeNullableRangeRestrictedInt16sID MTR_NEWLY_AVAILABLE = 0x00004029,
+    MTRClusterUnitTestingAttributeWriteOnlyInt8uID MTR_NEWLY_AVAILABLE = 0x0000402A,
     MTRClusterUnitTestingAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
     MTRClusterUnitTestingAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
     MTRClusterUnitTestingAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
     MTRClusterUnitTestingAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
     MTRClusterUnitTestingAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
 
+    // Cluster TestCluster attributes
+    MTRClusterTestClusterAttributeBooleanID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeBooleanID") = 0x00000000,
+    MTRClusterTestClusterAttributeBitmap8ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeBitmap8ID") = 0x00000001,
+    MTRClusterTestClusterAttributeBitmap16ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeBitmap16ID")
+    = 0x00000002,
+    MTRClusterTestClusterAttributeBitmap32ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeBitmap32ID")
+    = 0x00000003,
+    MTRClusterTestClusterAttributeBitmap64ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeBitmap64ID")
+    = 0x00000004,
+    MTRClusterTestClusterAttributeInt8uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt8uID") = 0x00000005,
+    MTRClusterTestClusterAttributeInt16uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt16uID") = 0x00000006,
+    MTRClusterTestClusterAttributeInt24uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt24uID") = 0x00000007,
+    MTRClusterTestClusterAttributeInt32uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt32uID") = 0x00000008,
+    MTRClusterTestClusterAttributeInt40uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt40uID") = 0x00000009,
+    MTRClusterTestClusterAttributeInt48uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt48uID") = 0x0000000A,
+    MTRClusterTestClusterAttributeInt56uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt56uID") = 0x0000000B,
+    MTRClusterTestClusterAttributeInt64uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt64uID") = 0x0000000C,
+    MTRClusterTestClusterAttributeInt8sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt8sID") = 0x0000000D,
+    MTRClusterTestClusterAttributeInt16sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt16sID") = 0x0000000E,
+    MTRClusterTestClusterAttributeInt24sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt24sID") = 0x0000000F,
+    MTRClusterTestClusterAttributeInt32sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt32sID") = 0x00000010,
+    MTRClusterTestClusterAttributeInt40sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt40sID") = 0x00000011,
+    MTRClusterTestClusterAttributeInt48sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt48sID") = 0x00000012,
+    MTRClusterTestClusterAttributeInt56sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt56sID") = 0x00000013,
+    MTRClusterTestClusterAttributeInt64sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeInt64sID") = 0x00000014,
+    MTRClusterTestClusterAttributeEnum8ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeEnum8ID") = 0x00000015,
+    MTRClusterTestClusterAttributeEnum16ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeEnum16ID") = 0x00000016,
+    MTRClusterTestClusterAttributeFloatSingleID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeFloatSingleID")
+    = 0x00000017,
+    MTRClusterTestClusterAttributeFloatDoubleID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeFloatDoubleID")
+    = 0x00000018,
+    MTRClusterTestClusterAttributeOctetStringID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeOctetStringID")
+    = 0x00000019,
+    MTRClusterTestClusterAttributeListInt8uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeListInt8uID")
+    = 0x0000001A,
+    MTRClusterTestClusterAttributeListOctetStringID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeListOctetStringID")
+    = 0x0000001B,
+    MTRClusterTestClusterAttributeListStructOctetStringID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeListStructOctetStringID")
+    = 0x0000001C,
+    MTRClusterTestClusterAttributeLongOctetStringID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeLongOctetStringID")
+    = 0x0000001D,
+    MTRClusterTestClusterAttributeCharStringID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeCharStringID")
+    = 0x0000001E,
+    MTRClusterTestClusterAttributeLongCharStringID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeLongCharStringID")
+    = 0x0000001F,
+    MTRClusterTestClusterAttributeEpochUsID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeEpochUsID") = 0x00000020,
+    MTRClusterTestClusterAttributeEpochSID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeEpochSID") = 0x00000021,
+    MTRClusterTestClusterAttributeVendorIdID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeVendorIdID")
+    = 0x00000022,
+    MTRClusterTestClusterAttributeListNullablesAndOptionalsStructID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeListNullablesAndOptionalsStructID")
+    = 0x00000023,
+    MTRClusterTestClusterAttributeEnumAttrID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeEnumAttrID")
+    = 0x00000024,
+    MTRClusterTestClusterAttributeStructAttrID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeStructAttrID")
+    = 0x00000025,
+    MTRClusterTestClusterAttributeRangeRestrictedInt8uID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeRangeRestrictedInt8uID")
+    = 0x00000026,
+    MTRClusterTestClusterAttributeRangeRestrictedInt8sID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeRangeRestrictedInt8sID")
+    = 0x00000027,
+    MTRClusterTestClusterAttributeRangeRestrictedInt16uID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeRangeRestrictedInt16uID")
+    = 0x00000028,
+    MTRClusterTestClusterAttributeRangeRestrictedInt16sID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeRangeRestrictedInt16sID")
+    = 0x00000029,
+    MTRClusterTestClusterAttributeListLongOctetStringID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeListLongOctetStringID")
+    = 0x0000002A,
+    MTRClusterTestClusterAttributeListFabricScopedID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeListFabricScopedID")
+    = 0x0000002B,
+    MTRClusterTestClusterAttributeTimedWriteBooleanID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeTimedWriteBooleanID")
+    = 0x00000030,
+    MTRClusterTestClusterAttributeGeneralErrorBooleanID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeGeneralErrorBooleanID")
+    = 0x00000031,
+    MTRClusterTestClusterAttributeClusterErrorBooleanID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeClusterErrorBooleanID")
+    = 0x00000032,
+    MTRClusterTestClusterAttributeUnsupportedID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeUnsupportedID")
+    = 0x000000FF,
+    MTRClusterTestClusterAttributeNullableBooleanID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableBooleanID")
+    = 0x00004000,
+    MTRClusterTestClusterAttributeNullableBitmap8ID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableBitmap8ID")
+    = 0x00004001,
+    MTRClusterTestClusterAttributeNullableBitmap16ID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableBitmap16ID")
+    = 0x00004002,
+    MTRClusterTestClusterAttributeNullableBitmap32ID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableBitmap32ID")
+    = 0x00004003,
+    MTRClusterTestClusterAttributeNullableBitmap64ID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableBitmap64ID")
+    = 0x00004004,
+    MTRClusterTestClusterAttributeNullableInt8uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt8uID")
+    = 0x00004005,
+    MTRClusterTestClusterAttributeNullableInt16uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt16uID")
+    = 0x00004006,
+    MTRClusterTestClusterAttributeNullableInt24uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt24uID")
+    = 0x00004007,
+    MTRClusterTestClusterAttributeNullableInt32uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt32uID")
+    = 0x00004008,
+    MTRClusterTestClusterAttributeNullableInt40uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt40uID")
+    = 0x00004009,
+    MTRClusterTestClusterAttributeNullableInt48uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt48uID")
+    = 0x0000400A,
+    MTRClusterTestClusterAttributeNullableInt56uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt56uID")
+    = 0x0000400B,
+    MTRClusterTestClusterAttributeNullableInt64uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt64uID")
+    = 0x0000400C,
+    MTRClusterTestClusterAttributeNullableInt8sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt8sID")
+    = 0x0000400D,
+    MTRClusterTestClusterAttributeNullableInt16sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt16sID")
+    = 0x0000400E,
+    MTRClusterTestClusterAttributeNullableInt24sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt24sID")
+    = 0x0000400F,
+    MTRClusterTestClusterAttributeNullableInt32sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt32sID")
+    = 0x00004010,
+    MTRClusterTestClusterAttributeNullableInt40sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt40sID")
+    = 0x00004011,
+    MTRClusterTestClusterAttributeNullableInt48sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt48sID")
+    = 0x00004012,
+    MTRClusterTestClusterAttributeNullableInt56sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt56sID")
+    = 0x00004013,
+    MTRClusterTestClusterAttributeNullableInt64sID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableInt64sID")
+    = 0x00004014,
+    MTRClusterTestClusterAttributeNullableEnum8ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableEnum8ID")
+    = 0x00004015,
+    MTRClusterTestClusterAttributeNullableEnum16ID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableEnum16ID")
+    = 0x00004016,
+    MTRClusterTestClusterAttributeNullableFloatSingleID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableFloatSingleID")
+    = 0x00004017,
+    MTRClusterTestClusterAttributeNullableFloatDoubleID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableFloatDoubleID")
+    = 0x00004018,
+    MTRClusterTestClusterAttributeNullableOctetStringID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableOctetStringID")
+    = 0x00004019,
+    MTRClusterTestClusterAttributeNullableCharStringID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableCharStringID")
+    = 0x0000401E,
+    MTRClusterTestClusterAttributeNullableEnumAttrID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableEnumAttrID")
+    = 0x00004024,
+    MTRClusterTestClusterAttributeNullableStructID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeNullableStructID")
+    = 0x00004025,
+    MTRClusterTestClusterAttributeNullableRangeRestrictedInt8uID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableRangeRestrictedInt8uID")
+    = 0x00004026,
+    MTRClusterTestClusterAttributeNullableRangeRestrictedInt8sID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableRangeRestrictedInt8sID")
+    = 0x00004027,
+    MTRClusterTestClusterAttributeNullableRangeRestrictedInt16uID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableRangeRestrictedInt16uID")
+    = 0x00004028,
+    MTRClusterTestClusterAttributeNullableRangeRestrictedInt16sID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingAttributeNullableRangeRestrictedInt16sID")
+    = 0x00004029,
+    MTRClusterTestClusterAttributeWriteOnlyInt8uID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingAttributeWriteOnlyInt8uID")
+    = 0x0000402A,
+    MTRClusterTestClusterAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
+    MTRClusterTestClusterAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
+    MTRClusterTestClusterAttributeAttributeListID = MTRClusterGlobalAttributeAttributeListID,
+    MTRClusterTestClusterAttributeFeatureMapID = MTRClusterGlobalAttributeFeatureMapID,
+    MTRClusterTestClusterAttributeClusterRevisionID = MTRClusterGlobalAttributeClusterRevisionID,
+
     // Cluster FaultInjection attributes
     MTRClusterFaultInjectionAttributeGeneratedCommandListID = MTRClusterGlobalAttributeGeneratedCommandListID,
     MTRClusterFaultInjectionAttributeAcceptedCommandListID = MTRClusterGlobalAttributeAcceptedCommandListID,
@@ -1379,6 +1556,7 @@
 #pragma mark - Commands IDs
 
 typedef NS_ENUM(uint32_t, MTRClusterCommandIDType) {
+
     // Cluster Identify commands
     MTRClusterIdentifyCommandIdentifyID = 0x00000000,
     MTRClusterIdentifyCommandTriggerEffectID = 0x00000040,
@@ -1665,40 +1843,137 @@
     MTRClusterElectricalMeasurementCommandGetMeasurementProfileCommandID = 0x00000001,
 
     // Cluster UnitTesting commands
-    MTRClusterUnitTestingCommandTestID = 0x00000000,
-    MTRClusterUnitTestingCommandTestSpecificResponseID = 0x00000000,
-    MTRClusterUnitTestingCommandTestNotHandledID = 0x00000001,
-    MTRClusterUnitTestingCommandTestAddArgumentsResponseID = 0x00000001,
-    MTRClusterUnitTestingCommandTestSpecificID = 0x00000002,
-    MTRClusterUnitTestingCommandTestSimpleArgumentResponseID = 0x00000002,
-    MTRClusterUnitTestingCommandTestUnknownCommandID = 0x00000003,
-    MTRClusterUnitTestingCommandTestStructArrayArgumentResponseID = 0x00000003,
-    MTRClusterUnitTestingCommandTestAddArgumentsID = 0x00000004,
-    MTRClusterUnitTestingCommandTestListInt8UReverseResponseID = 0x00000004,
-    MTRClusterUnitTestingCommandTestSimpleArgumentRequestID = 0x00000005,
-    MTRClusterUnitTestingCommandTestEnumsResponseID = 0x00000005,
-    MTRClusterUnitTestingCommandTestStructArrayArgumentRequestID = 0x00000006,
-    MTRClusterUnitTestingCommandTestNullableOptionalResponseID = 0x00000006,
-    MTRClusterUnitTestingCommandTestStructArgumentRequestID = 0x00000007,
-    MTRClusterUnitTestingCommandTestComplexNullableOptionalResponseID = 0x00000007,
-    MTRClusterUnitTestingCommandTestNestedStructArgumentRequestID = 0x00000008,
-    MTRClusterUnitTestingCommandBooleanResponseID = 0x00000008,
-    MTRClusterUnitTestingCommandTestListStructArgumentRequestID = 0x00000009,
-    MTRClusterUnitTestingCommandSimpleStructResponseID = 0x00000009,
-    MTRClusterUnitTestingCommandTestListInt8UArgumentRequestID = 0x0000000A,
-    MTRClusterUnitTestingCommandTestEmitTestEventResponseID = 0x0000000A,
-    MTRClusterUnitTestingCommandTestNestedStructListArgumentRequestID = 0x0000000B,
-    MTRClusterUnitTestingCommandTestEmitTestFabricScopedEventResponseID = 0x0000000B,
-    MTRClusterUnitTestingCommandTestListNestedStructListArgumentRequestID = 0x0000000C,
-    MTRClusterUnitTestingCommandTestListInt8UReverseRequestID = 0x0000000D,
-    MTRClusterUnitTestingCommandTestEnumsRequestID = 0x0000000E,
-    MTRClusterUnitTestingCommandTestNullableOptionalRequestID = 0x0000000F,
-    MTRClusterUnitTestingCommandTestComplexNullableOptionalRequestID = 0x00000010,
-    MTRClusterUnitTestingCommandSimpleStructEchoRequestID = 0x00000011,
-    MTRClusterUnitTestingCommandTimedInvokeRequestID = 0x00000012,
-    MTRClusterUnitTestingCommandTestSimpleOptionalArgumentRequestID = 0x00000013,
-    MTRClusterUnitTestingCommandTestEmitTestEventRequestID = 0x00000014,
-    MTRClusterUnitTestingCommandTestEmitTestFabricScopedEventRequestID = 0x00000015,
+    MTRClusterUnitTestingCommandTestID MTR_NEWLY_AVAILABLE = 0x00000000,
+    MTRClusterUnitTestingCommandTestSpecificResponseID MTR_NEWLY_AVAILABLE = 0x00000000,
+    MTRClusterUnitTestingCommandTestNotHandledID MTR_NEWLY_AVAILABLE = 0x00000001,
+    MTRClusterUnitTestingCommandTestAddArgumentsResponseID MTR_NEWLY_AVAILABLE = 0x00000001,
+    MTRClusterUnitTestingCommandTestSpecificID MTR_NEWLY_AVAILABLE = 0x00000002,
+    MTRClusterUnitTestingCommandTestSimpleArgumentResponseID MTR_NEWLY_AVAILABLE = 0x00000002,
+    MTRClusterUnitTestingCommandTestUnknownCommandID MTR_NEWLY_AVAILABLE = 0x00000003,
+    MTRClusterUnitTestingCommandTestStructArrayArgumentResponseID MTR_NEWLY_AVAILABLE = 0x00000003,
+    MTRClusterUnitTestingCommandTestAddArgumentsID MTR_NEWLY_AVAILABLE = 0x00000004,
+    MTRClusterUnitTestingCommandTestListInt8UReverseResponseID MTR_NEWLY_AVAILABLE = 0x00000004,
+    MTRClusterUnitTestingCommandTestSimpleArgumentRequestID MTR_NEWLY_AVAILABLE = 0x00000005,
+    MTRClusterUnitTestingCommandTestEnumsResponseID MTR_NEWLY_AVAILABLE = 0x00000005,
+    MTRClusterUnitTestingCommandTestStructArrayArgumentRequestID MTR_NEWLY_AVAILABLE = 0x00000006,
+    MTRClusterUnitTestingCommandTestNullableOptionalResponseID MTR_NEWLY_AVAILABLE = 0x00000006,
+    MTRClusterUnitTestingCommandTestStructArgumentRequestID MTR_NEWLY_AVAILABLE = 0x00000007,
+    MTRClusterUnitTestingCommandTestComplexNullableOptionalResponseID MTR_NEWLY_AVAILABLE = 0x00000007,
+    MTRClusterUnitTestingCommandTestNestedStructArgumentRequestID MTR_NEWLY_AVAILABLE = 0x00000008,
+    MTRClusterUnitTestingCommandBooleanResponseID MTR_NEWLY_AVAILABLE = 0x00000008,
+    MTRClusterUnitTestingCommandTestListStructArgumentRequestID MTR_NEWLY_AVAILABLE = 0x00000009,
+    MTRClusterUnitTestingCommandSimpleStructResponseID MTR_NEWLY_AVAILABLE = 0x00000009,
+    MTRClusterUnitTestingCommandTestListInt8UArgumentRequestID MTR_NEWLY_AVAILABLE = 0x0000000A,
+    MTRClusterUnitTestingCommandTestEmitTestEventResponseID MTR_NEWLY_AVAILABLE = 0x0000000A,
+    MTRClusterUnitTestingCommandTestNestedStructListArgumentRequestID MTR_NEWLY_AVAILABLE = 0x0000000B,
+    MTRClusterUnitTestingCommandTestEmitTestFabricScopedEventResponseID MTR_NEWLY_AVAILABLE = 0x0000000B,
+    MTRClusterUnitTestingCommandTestListNestedStructListArgumentRequestID MTR_NEWLY_AVAILABLE = 0x0000000C,
+    MTRClusterUnitTestingCommandTestListInt8UReverseRequestID MTR_NEWLY_AVAILABLE = 0x0000000D,
+    MTRClusterUnitTestingCommandTestEnumsRequestID MTR_NEWLY_AVAILABLE = 0x0000000E,
+    MTRClusterUnitTestingCommandTestNullableOptionalRequestID MTR_NEWLY_AVAILABLE = 0x0000000F,
+    MTRClusterUnitTestingCommandTestComplexNullableOptionalRequestID MTR_NEWLY_AVAILABLE = 0x00000010,
+    MTRClusterUnitTestingCommandSimpleStructEchoRequestID MTR_NEWLY_AVAILABLE = 0x00000011,
+    MTRClusterUnitTestingCommandTimedInvokeRequestID MTR_NEWLY_AVAILABLE = 0x00000012,
+    MTRClusterUnitTestingCommandTestSimpleOptionalArgumentRequestID MTR_NEWLY_AVAILABLE = 0x00000013,
+    MTRClusterUnitTestingCommandTestEmitTestEventRequestID MTR_NEWLY_AVAILABLE = 0x00000014,
+    MTRClusterUnitTestingCommandTestEmitTestFabricScopedEventRequestID MTR_NEWLY_AVAILABLE = 0x00000015,
+
+    // Cluster TestCluster commands
+    MTRClusterTestClusterCommandTestID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingCommandTestID") = 0x00000000,
+    MTRClusterTestClusterCommandTestSpecificResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestSpecificResponseID")
+    = 0x00000000,
+    MTRClusterTestClusterCommandTestNotHandledID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingCommandTestNotHandledID")
+    = 0x00000001,
+    MTRClusterTestClusterCommandTestAddArgumentsResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestAddArgumentsResponseID")
+    = 0x00000001,
+    MTRClusterTestClusterCommandTestSpecificID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingCommandTestSpecificID")
+    = 0x00000002,
+    MTRClusterTestClusterCommandTestSimpleArgumentResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestSimpleArgumentResponseID")
+    = 0x00000002,
+    MTRClusterTestClusterCommandTestUnknownCommandID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestUnknownCommandID")
+    = 0x00000003,
+    MTRClusterTestClusterCommandTestStructArrayArgumentResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestStructArrayArgumentResponseID")
+    = 0x00000003,
+    MTRClusterTestClusterCommandTestAddArgumentsID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingCommandTestAddArgumentsID")
+    = 0x00000004,
+    MTRClusterTestClusterCommandTestListInt8UReverseResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestListInt8UReverseResponseID")
+    = 0x00000004,
+    MTRClusterTestClusterCommandTestSimpleArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestSimpleArgumentRequestID")
+    = 0x00000005,
+    MTRClusterTestClusterCommandTestEnumsResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestEnumsResponseID")
+    = 0x00000005,
+    MTRClusterTestClusterCommandTestStructArrayArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestStructArrayArgumentRequestID")
+    = 0x00000006,
+    MTRClusterTestClusterCommandTestNullableOptionalResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestNullableOptionalResponseID")
+    = 0x00000006,
+    MTRClusterTestClusterCommandTestStructArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestStructArgumentRequestID")
+    = 0x00000007,
+    MTRClusterTestClusterCommandTestComplexNullableOptionalResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestComplexNullableOptionalResponseID")
+    = 0x00000007,
+    MTRClusterTestClusterCommandTestNestedStructArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestNestedStructArgumentRequestID")
+    = 0x00000008,
+    MTRClusterTestClusterCommandBooleanResponseID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingCommandBooleanResponseID")
+    = 0x00000008,
+    MTRClusterTestClusterCommandTestListStructArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestListStructArgumentRequestID")
+    = 0x00000009,
+    MTRClusterTestClusterCommandSimpleStructResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandSimpleStructResponseID")
+    = 0x00000009,
+    MTRClusterTestClusterCommandTestListInt8UArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestListInt8UArgumentRequestID")
+    = 0x0000000A,
+    MTRClusterTestClusterCommandTestEmitTestEventResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestEmitTestEventResponseID")
+    = 0x0000000A,
+    MTRClusterTestClusterCommandTestNestedStructListArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestNestedStructListArgumentRequestID")
+    = 0x0000000B,
+    MTRClusterTestClusterCommandTestEmitTestFabricScopedEventResponseID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestEmitTestFabricScopedEventResponseID")
+    = 0x0000000B,
+    MTRClusterTestClusterCommandTestListNestedStructListArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestListNestedStructListArgumentRequestID")
+    = 0x0000000C,
+    MTRClusterTestClusterCommandTestListInt8UReverseRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestListInt8UReverseRequestID")
+    = 0x0000000D,
+    MTRClusterTestClusterCommandTestEnumsRequestID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingCommandTestEnumsRequestID")
+    = 0x0000000E,
+    MTRClusterTestClusterCommandTestNullableOptionalRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestNullableOptionalRequestID")
+    = 0x0000000F,
+    MTRClusterTestClusterCommandTestComplexNullableOptionalRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestComplexNullableOptionalRequestID")
+    = 0x00000010,
+    MTRClusterTestClusterCommandSimpleStructEchoRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandSimpleStructEchoRequestID")
+    = 0x00000011,
+    MTRClusterTestClusterCommandTimedInvokeRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTimedInvokeRequestID")
+    = 0x00000012,
+    MTRClusterTestClusterCommandTestSimpleOptionalArgumentRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestSimpleOptionalArgumentRequestID")
+    = 0x00000013,
+    MTRClusterTestClusterCommandTestEmitTestEventRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestEmitTestEventRequestID")
+    = 0x00000014,
+    MTRClusterTestClusterCommandTestEmitTestFabricScopedEventRequestID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingCommandTestEmitTestFabricScopedEventRequestID")
+    = 0x00000015,
 
     // Cluster FaultInjection commands
     MTRClusterFaultInjectionCommandFailAtFaultID = 0x00000000,
@@ -1709,6 +1984,7 @@
 #pragma mark - Events IDs
 
 typedef NS_ENUM(uint32_t, MTRClusterEventIDType) {
+
     // Cluster AccessControl events
     MTRClusterAccessControlEventAccessControlEntryChangedID = 0x00000000,
     MTRClusterAccessControlEventAccessControlExtensionChangedID = 0x00000001,
@@ -1791,7 +2067,13 @@
     MTRClusterPumpConfigurationAndControlEventTurbineOperationID = 0x00000010,
 
     // Cluster UnitTesting events
-    MTRClusterUnitTestingEventTestEventID = 0x00000001,
-    MTRClusterUnitTestingEventTestFabricScopedEventID = 0x00000002,
+    MTRClusterUnitTestingEventTestEventID MTR_NEWLY_AVAILABLE = 0x00000001,
+    MTRClusterUnitTestingEventTestFabricScopedEventID MTR_NEWLY_AVAILABLE = 0x00000002,
+
+    // Cluster TestCluster events
+    MTRClusterTestClusterEventTestEventID MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTestingEventTestEventID") = 0x00000001,
+    MTRClusterTestClusterEventTestFabricScopedEventID MTR_NEWLY_DEPRECATED(
+        "Please use MTRClusterUnitTestingEventTestFabricScopedEventID")
+    = 0x00000002,
 
 };
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
index 9dbe711..e8574a0 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
@@ -4598,6 +4598,7 @@
  * Cluster Unit Testing
  *    The Test Cluster is meant to validate the generated code
  */
+MTR_NEWLY_AVAILABLE
 @interface MTRClusterUnitTesting : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRDevice *)device
@@ -5304,12 +5305,15 @@
                                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                                                       params:(MTRWriteParams * _Nullable)params;
 
-- (NSDictionary<NSString *, id> *)readAttributeWriteOnlyInt8uWithParams:(MTRReadParams * _Nullable)params;
-- (void)writeAttributeWriteOnlyInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+- (NSDictionary<NSString *, id> *)readAttributeWriteOnlyInt8uWithParams:(MTRReadParams * _Nullable)params
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
 - (void)writeAttributeWriteOnlyInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
+- (void)writeAttributeWriteOnlyInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
+                                       params:(MTRWriteParams * _Nullable)params
+    API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
 
 - (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
 
@@ -5326,6 +5330,10 @@
 
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRClusterUnitTesting")
+@interface MTRClusterTestCluster : MTRClusterUnitTesting
+@end
+
 @interface MTRClusterIdentify (Deprecated)
 
 - (nullable instancetype)initWithDevice:(MTRDevice *)device
@@ -6850,13 +6858,13 @@
     MTR_NEWLY_DEPRECATED("Please use getMeasurementProfileCommandWithParams:expectedValues:expectedValueIntervalMs:completion:");
 @end
 
-@interface MTRClusterUnitTesting (Deprecated)
+@interface MTRClusterTestCluster (Deprecated)
 
 - (nullable instancetype)initWithDevice:(MTRDevice *)device
                                endpoint:(uint16_t)endpoint
                                   queue:(dispatch_queue_t)queue MTR_NEWLY_DEPRECATED("Please use initWithDevice:endpoindID:queue:");
 
-- (void)testWithParams:(MTRUnitTestingClusterTestParams * _Nullable)params
+- (void)testWithParams:(MTRTestClusterClusterTestParams * _Nullable)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
         completionHandler:(MTRStatusCompletion)completionHandler
@@ -6865,7 +6873,7 @@
          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
              completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testWithExpectedValues:expectedValueIntervalMs:completion:");
-- (void)testNotHandledWithParams:(MTRUnitTestingClusterTestNotHandledParams * _Nullable)params
+- (void)testNotHandledWithParams:(MTRTestClusterClusterTestNotHandledParams * _Nullable)params
                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                completionHandler:(MTRStatusCompletion)completionHandler
@@ -6874,18 +6882,18 @@
                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                        completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNotHandledWithExpectedValues:expectedValueIntervalMs:completion:");
-- (void)testSpecificWithParams:(MTRUnitTestingClusterTestSpecificParams * _Nullable)params
+- (void)testSpecificWithParams:(MTRTestClusterClusterTestSpecificParams * _Nullable)params
                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-             completionHandler:(void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data,
+             completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testSpecificWithParams:expectedValues:expectedValueIntervalMs:completion:");
 - (void)testSpecificWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                     completionHandler:(void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data,
+                     completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testSpecificWithExpectedValues:expectedValueIntervalMs:completion:");
-- (void)testUnknownCommandWithParams:(MTRUnitTestingClusterTestUnknownCommandParams * _Nullable)params
+- (void)testUnknownCommandWithParams:(MTRTestClusterClusterTestUnknownCommandParams * _Nullable)params
                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -6894,100 +6902,100 @@
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                            completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use testUnknownCommandWithExpectedValues:expectedValueIntervalMs:completion:");
-- (void)testAddArgumentsWithParams:(MTRUnitTestingClusterTestAddArgumentsParams *)params
+- (void)testAddArgumentsWithParams:(MTRTestClusterClusterTestAddArgumentsParams *)params
                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestAddArgumentsResponseParams * _Nullable data,
+                 completionHandler:(void (^)(MTRTestClusterClusterTestAddArgumentsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testAddArgumentsWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testSimpleArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleArgumentRequestParams *)params
+- (void)testSimpleArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleArgumentRequestParams *)params
                              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                          completionHandler:(void (^)(MTRUnitTestingClusterTestSimpleArgumentResponseParams * _Nullable data,
+                          completionHandler:(void (^)(MTRTestClusterClusterTestSimpleArgumentResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testSimpleArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testStructArrayArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArrayArgumentRequestParams *)params
+- (void)testStructArrayArgumentRequestWithParams:(MTRTestClusterClusterTestStructArrayArgumentRequestParams *)params
                                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                                completionHandler:
-                                   (void (^)(MTRUnitTestingClusterTestStructArrayArgumentResponseParams * _Nullable data,
+                                   (void (^)(MTRTestClusterClusterTestStructArrayArgumentResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testStructArrayArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testStructArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArgumentRequestParams *)params
+- (void)testStructArgumentRequestWithParams:(MTRTestClusterClusterTestStructArgumentRequestParams *)params
                              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                          completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                          completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testStructArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testNestedStructArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructArgumentRequestParams *)params
+- (void)testNestedStructArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructArgumentRequestParams *)params
                                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                             expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                                completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                       NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNestedStructArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testListStructArgumentRequestWithParams:(MTRUnitTestingClusterTestListStructArgumentRequestParams *)params
+- (void)testListStructArgumentRequestWithParams:(MTRTestClusterClusterTestListStructArgumentRequestParams *)params
                                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                              completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                              completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                     NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testListStructArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testListInt8UArgumentRequestWithParams:(MTRUnitTestingClusterTestListInt8UArgumentRequestParams *)params
+- (void)testListInt8UArgumentRequestWithParams:(MTRTestClusterClusterTestListInt8UArgumentRequestParams *)params
                                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                             completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                             completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                    NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testListInt8UArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testNestedStructListArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructListArgumentRequestParams *)params
+- (void)testNestedStructListArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructListArgumentRequestParams *)params
                                        expectedValues:
                                            (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                                    completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                    completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                           NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED(
         "Please use testNestedStructListArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
 - (void)testListNestedStructListArgumentRequestWithParams:
-            (MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams *)params
+            (MTRTestClusterClusterTestListNestedStructListArgumentRequestParams *)params
                                            expectedValues:
                                                (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                                        completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                        completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                               NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED(
         "Please use testListNestedStructListArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testListInt8UReverseRequestWithParams:(MTRUnitTestingClusterTestListInt8UReverseRequestParams *)params
+- (void)testListInt8UReverseRequestWithParams:(MTRTestClusterClusterTestListInt8UReverseRequestParams *)params
                                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestListInt8UReverseResponseParams * _Nullable data,
+                            completionHandler:(void (^)(MTRTestClusterClusterTestListInt8UReverseResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testListInt8UReverseRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testEnumsRequestWithParams:(MTRUnitTestingClusterTestEnumsRequestParams *)params
+- (void)testEnumsRequestWithParams:(MTRTestClusterClusterTestEnumsRequestParams *)params
                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestEnumsResponseParams * _Nullable data,
+                 completionHandler:(void (^)(MTRTestClusterClusterTestEnumsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testEnumsRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestNullableOptionalRequestParams * _Nullable)params
+- (void)testNullableOptionalRequestWithParams:(MTRTestClusterClusterTestNullableOptionalRequestParams * _Nullable)params
                                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestNullableOptionalResponseParams * _Nullable data,
+                            completionHandler:(void (^)(MTRTestClusterClusterTestNullableOptionalResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testNullableOptionalRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testComplexNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestComplexNullableOptionalRequestParams *)params
+- (void)testComplexNullableOptionalRequestWithParams:(MTRTestClusterClusterTestComplexNullableOptionalRequestParams *)params
                                       expectedValues:
                                           (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                                    completionHandler:
-                                       (void (^)(MTRUnitTestingClusterTestComplexNullableOptionalResponseParams * _Nullable data,
+                                       (void (^)(MTRTestClusterClusterTestComplexNullableOptionalResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED(
         "Please use testComplexNullableOptionalRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)simpleStructEchoRequestWithParams:(MTRUnitTestingClusterSimpleStructEchoRequestParams *)params
+- (void)simpleStructEchoRequestWithParams:(MTRTestClusterClusterSimpleStructEchoRequestParams *)params
                            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                        completionHandler:(void (^)(MTRUnitTestingClusterSimpleStructResponseParams * _Nullable data,
+                        completionHandler:(void (^)(MTRTestClusterClusterSimpleStructResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use simpleStructEchoRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)timedInvokeRequestWithParams:(MTRUnitTestingClusterTimedInvokeRequestParams * _Nullable)params
+- (void)timedInvokeRequestWithParams:(MTRTestClusterClusterTimedInvokeRequestParams * _Nullable)params
                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -6996,26 +7004,26 @@
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                            completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED("Please use timedInvokeRequestWithExpectedValues:expectedValueIntervalMs:completion:");
-- (void)testSimpleOptionalArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
+- (void)testSimpleOptionalArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
                                      expectedValues:
                                          (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                                   completionHandler:(MTRStatusCompletion)completionHandler
     MTR_NEWLY_DEPRECATED(
         "Please use testSimpleOptionalArgumentRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testEmitTestEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestEventRequestParams *)params
+- (void)testEmitTestEventRequestWithParams:(MTRTestClusterClusterTestEmitTestEventRequestParams *)params
                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                         completionHandler:(void (^)(MTRUnitTestingClusterTestEmitTestEventResponseParams * _Nullable data,
+                         completionHandler:(void (^)(MTRTestClusterClusterTestEmitTestEventResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED("Please use testEmitTestEventRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
-- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams *)params
+- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams *)params
                                         expectedValues:
                                             (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                  expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                                      completionHandler:
                                          (void (^)(
-                                             MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
+                                             MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
                                              NSError * _Nullable error))completionHandler
     MTR_NEWLY_DEPRECATED(
         "Please use testEmitTestFabricScopedEventRequestWithParams:expectedValues:expectedValueIntervalMs:completion:");
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
index 9216de3..e709166 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm
@@ -653,7 +653,10 @@
     [self addGroupWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRGroupsClusterAddGroupResponseParams *>(data), error);
+                   }];
 }
 - (void)viewGroupWithParams:(MTRGroupsClusterViewGroupParams *)params
              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -664,7 +667,10 @@
     [self viewGroupWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRGroupsClusterViewGroupResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRGroupsClusterViewGroupResponseParams *>(data), error);
+                   }];
 }
 - (void)getGroupMembershipWithParams:(MTRGroupsClusterGetGroupMembershipParams *)params
                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -675,7 +681,11 @@
     [self getGroupMembershipWithParams:params
                         expectedValues:expectedDataValueDictionaries
                  expectedValueInterval:expectedValueIntervalMs
-                            completion:completionHandler];
+                            completion:^(
+                                MTRGroupsClusterGetGroupMembershipResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRGroupsClusterGetGroupMembershipResponseParams *>(data), error);
+                            }];
 }
 - (void)removeGroupWithParams:(MTRGroupsClusterRemoveGroupParams *)params
                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -686,7 +696,10 @@
     [self removeGroupWithParams:params
                  expectedValues:expectedDataValueDictionaries
           expectedValueInterval:expectedValueIntervalMs
-                     completion:completionHandler];
+                     completion:^(MTRGroupsClusterRemoveGroupResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRGroupsClusterRemoveGroupResponseParams *>(data), error);
+                     }];
 }
 - (void)removeAllGroupsWithParams:(MTRGroupsClusterRemoveAllGroupsParams * _Nullable)params
                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -702,9 +715,10 @@
                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                         completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self removeAllGroupsWithExpectedValues:expectedValues
-                      expectedValueInterval:expectedValueIntervalMs
-                                 completion:completionHandler];
+    [self removeAllGroupsWithParams:nil
+                     expectedValues:expectedValues
+              expectedValueInterval:expectedValueIntervalMs
+                  completionHandler:completionHandler];
 }
 - (void)addGroupIfIdentifyingWithParams:(MTRGroupsClusterAddGroupIfIdentifyingParams *)params
                          expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1469,7 +1483,10 @@
     [self addSceneWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRScenesClusterAddSceneResponseParams *>(data), error);
+                   }];
 }
 - (void)viewSceneWithParams:(MTRScenesClusterViewSceneParams *)params
              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1480,7 +1497,10 @@
     [self viewSceneWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRScenesClusterViewSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRScenesClusterViewSceneResponseParams *>(data), error);
+                   }];
 }
 - (void)removeSceneWithParams:(MTRScenesClusterRemoveSceneParams *)params
                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1491,7 +1511,10 @@
     [self removeSceneWithParams:params
                  expectedValues:expectedDataValueDictionaries
           expectedValueInterval:expectedValueIntervalMs
-                     completion:completionHandler];
+                     completion:^(MTRScenesClusterRemoveSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRScenesClusterRemoveSceneResponseParams *>(data), error);
+                     }];
 }
 - (void)removeAllScenesWithParams:(MTRScenesClusterRemoveAllScenesParams *)params
                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1502,7 +1525,10 @@
     [self removeAllScenesWithParams:params
                      expectedValues:expectedDataValueDictionaries
               expectedValueInterval:expectedValueIntervalMs
-                         completion:completionHandler];
+                         completion:^(MTRScenesClusterRemoveAllScenesResponseParams * _Nullable data, NSError * _Nullable error) {
+                             // Cast is safe because subclass does not add any selectors.
+                             completionHandler(static_cast<MTRScenesClusterRemoveAllScenesResponseParams *>(data), error);
+                         }];
 }
 - (void)storeSceneWithParams:(MTRScenesClusterStoreSceneParams *)params
               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1513,7 +1539,10 @@
     [self storeSceneWithParams:params
                 expectedValues:expectedDataValueDictionaries
          expectedValueInterval:expectedValueIntervalMs
-                    completion:completionHandler];
+                    completion:^(MTRScenesClusterStoreSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTRScenesClusterStoreSceneResponseParams *>(data), error);
+                    }];
 }
 - (void)recallSceneWithParams:(MTRScenesClusterRecallSceneParams *)params
                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1534,7 +1563,11 @@
     [self getSceneMembershipWithParams:params
                         expectedValues:expectedDataValueDictionaries
                  expectedValueInterval:expectedValueIntervalMs
-                            completion:completionHandler];
+                            completion:^(
+                                MTRScenesClusterGetSceneMembershipResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRScenesClusterGetSceneMembershipResponseParams *>(data), error);
+                            }];
 }
 - (void)enhancedAddSceneWithParams:(MTRScenesClusterEnhancedAddSceneParams *)params
                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1545,7 +1578,10 @@
     [self enhancedAddSceneWithParams:params
                       expectedValues:expectedDataValueDictionaries
                expectedValueInterval:expectedValueIntervalMs
-                          completion:completionHandler];
+                          completion:^(MTRScenesClusterEnhancedAddSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                              // Cast is safe because subclass does not add any selectors.
+                              completionHandler(static_cast<MTRScenesClusterEnhancedAddSceneResponseParams *>(data), error);
+                          }];
 }
 - (void)enhancedViewSceneWithParams:(MTRScenesClusterEnhancedViewSceneParams *)params
                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1553,10 +1589,14 @@
                   completionHandler:(void (^)(MTRScenesClusterEnhancedViewSceneResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler
 {
-    [self enhancedViewSceneWithParams:params
-                       expectedValues:expectedDataValueDictionaries
-                expectedValueInterval:expectedValueIntervalMs
-                           completion:completionHandler];
+    [self
+        enhancedViewSceneWithParams:params
+                     expectedValues:expectedDataValueDictionaries
+              expectedValueInterval:expectedValueIntervalMs
+                         completion:^(MTRScenesClusterEnhancedViewSceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                             // Cast is safe because subclass does not add any selectors.
+                             completionHandler(static_cast<MTRScenesClusterEnhancedViewSceneResponseParams *>(data), error);
+                         }];
 }
 - (void)copySceneWithParams:(MTRScenesClusterCopySceneParams *)params
              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -1567,7 +1607,10 @@
     [self copySceneWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRScenesClusterCopySceneResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRScenesClusterCopySceneResponseParams *>(data), error);
+                   }];
 }
 @end
 
@@ -2069,7 +2112,10 @@
         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
             completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self offWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self offWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)onWithParams:(MTROnOffClusterOnParams * _Nullable)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -2085,7 +2131,10 @@
        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
            completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self onWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self onWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)toggleWithParams:(MTROnOffClusterToggleParams * _Nullable)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -2101,7 +2150,10 @@
            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self toggleWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self toggleWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)offWithEffectWithParams:(MTROnOffClusterOffWithEffectParams *)params
                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -2127,9 +2179,10 @@
                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                                 completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self onWithRecallGlobalSceneWithExpectedValues:expectedValues
-                              expectedValueInterval:expectedValueIntervalMs
-                                         completion:completionHandler];
+    [self onWithRecallGlobalSceneWithParams:nil
+                             expectedValues:expectedValues
+                      expectedValueInterval:expectedValueIntervalMs
+                          completionHandler:completionHandler];
 }
 - (void)onWithTimedOffWithParams:(MTROnOffClusterOnWithTimedOffParams *)params
                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -4932,9 +4985,10 @@
                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                         completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self mfgSpecificPingWithExpectedValues:expectedValues
-                      expectedValueInterval:expectedValueIntervalMs
-                                 completion:completionHandler];
+    [self mfgSpecificPingWithParams:nil
+                     expectedValues:expectedValues
+              expectedValueInterval:expectedValueIntervalMs
+                  completionHandler:completionHandler];
 }
 @end
 
@@ -5196,7 +5250,11 @@
     [self queryImageWithParams:params
                 expectedValues:expectedDataValueDictionaries
          expectedValueInterval:expectedValueIntervalMs
-                    completion:completionHandler];
+                    completion:^(
+                        MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams *>(data), error);
+                    }];
 }
 - (void)applyUpdateRequestWithParams:(MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams *)params
                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -5207,7 +5265,12 @@
     [self applyUpdateRequestWithParams:params
                         expectedValues:expectedDataValueDictionaries
                  expectedValueInterval:expectedValueIntervalMs
-                            completion:completionHandler];
+                            completion:^(MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams * _Nullable data,
+                                NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(
+                                    static_cast<MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams *>(data), error);
+                            }];
 }
 - (void)notifyUpdateAppliedWithParams:(MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams *)params
                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6403,7 +6466,11 @@
     [self armFailSafeWithParams:params
                  expectedValues:expectedDataValueDictionaries
           expectedValueInterval:expectedValueIntervalMs
-                     completion:completionHandler];
+                     completion:^(
+                         MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRGeneralCommissioningClusterArmFailSafeResponseParams *>(data), error);
+                     }];
 }
 - (void)setRegulatoryConfigWithParams:(MTRGeneralCommissioningClusterSetRegulatoryConfigParams *)params
                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6414,7 +6481,12 @@
     [self setRegulatoryConfigWithParams:params
                          expectedValues:expectedDataValueDictionaries
                   expectedValueInterval:expectedValueIntervalMs
-                             completion:completionHandler];
+                             completion:^(MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams * _Nullable data,
+                                 NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(
+                                     static_cast<MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams *>(data), error);
+                             }];
 }
 - (void)commissioningCompleteWithParams:(MTRGeneralCommissioningClusterCommissioningCompleteParams * _Nullable)params
                          expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6423,10 +6495,16 @@
                           (void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
                               NSError * _Nullable error))completionHandler
 {
-    [self commissioningCompleteWithParams:params
-                           expectedValues:expectedDataValueDictionaries
-                    expectedValueInterval:expectedValueIntervalMs
-                               completion:completionHandler];
+    [self
+        commissioningCompleteWithParams:params
+                         expectedValues:expectedDataValueDictionaries
+                  expectedValueInterval:expectedValueIntervalMs
+                             completion:^(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
+                                 NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(
+                                     static_cast<MTRGeneralCommissioningClusterCommissioningCompleteResponseParams *>(data), error);
+                             }];
 }
 - (void)commissioningCompleteWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
@@ -6434,9 +6512,10 @@
                                   (void (^)(MTRGeneralCommissioningClusterCommissioningCompleteResponseParams * _Nullable data,
                                       NSError * _Nullable error))completionHandler
 {
-    [self commissioningCompleteWithExpectedValues:expectedValues
-                            expectedValueInterval:expectedValueIntervalMs
-                                       completion:completionHandler];
+    [self commissioningCompleteWithParams:nil
+                           expectedValues:expectedValues
+                    expectedValueInterval:expectedValueIntervalMs
+                        completionHandler:completionHandler];
 }
 @end
 
@@ -6908,7 +6987,11 @@
     [self scanNetworksWithParams:params
                   expectedValues:expectedDataValueDictionaries
            expectedValueInterval:expectedValueIntervalMs
-                      completion:completionHandler];
+                      completion:^(
+                          MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRNetworkCommissioningClusterScanNetworksResponseParams *>(data), error);
+                      }];
 }
 - (void)addOrUpdateWiFiNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateWiFiNetworkParams *)params
                           expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6919,7 +7002,12 @@
     [self addOrUpdateWiFiNetworkWithParams:params
                             expectedValues:expectedDataValueDictionaries
                      expectedValueInterval:expectedValueIntervalMs
-                                completion:completionHandler];
+                                completion:^(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                    NSError * _Nullable error) {
+                                    // Cast is safe because subclass does not add any selectors.
+                                    completionHandler(
+                                        static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                                }];
 }
 - (void)addOrUpdateThreadNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateThreadNetworkParams *)params
                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6930,7 +7018,12 @@
     [self addOrUpdateThreadNetworkWithParams:params
                               expectedValues:expectedDataValueDictionaries
                        expectedValueInterval:expectedValueIntervalMs
-                                  completion:completionHandler];
+                                  completion:^(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
+                                      NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      completionHandler(
+                                          static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                                  }];
 }
 - (void)removeNetworkWithParams:(MTRNetworkCommissioningClusterRemoveNetworkParams *)params
                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6941,7 +7034,11 @@
     [self removeNetworkWithParams:params
                    expectedValues:expectedDataValueDictionaries
             expectedValueInterval:expectedValueIntervalMs
-                       completion:completionHandler];
+                       completion:^(
+                           MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                       }];
 }
 - (void)connectNetworkWithParams:(MTRNetworkCommissioningClusterConnectNetworkParams *)params
                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6949,10 +7046,15 @@
                completionHandler:(void (^)(MTRNetworkCommissioningClusterConnectNetworkResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler
 {
-    [self connectNetworkWithParams:params
-                    expectedValues:expectedDataValueDictionaries
-             expectedValueInterval:expectedValueIntervalMs
-                        completion:completionHandler];
+    [self
+        connectNetworkWithParams:params
+                  expectedValues:expectedDataValueDictionaries
+           expectedValueInterval:expectedValueIntervalMs
+                      completion:^(
+                          MTRNetworkCommissioningClusterConnectNetworkResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRNetworkCommissioningClusterConnectNetworkResponseParams *>(data), error);
+                      }];
 }
 - (void)reorderNetworkWithParams:(MTRNetworkCommissioningClusterReorderNetworkParams *)params
                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -6960,10 +7062,15 @@
                completionHandler:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler
 {
-    [self reorderNetworkWithParams:params
-                    expectedValues:expectedDataValueDictionaries
-             expectedValueInterval:expectedValueIntervalMs
-                        completion:completionHandler];
+    [self
+        reorderNetworkWithParams:params
+                  expectedValues:expectedDataValueDictionaries
+           expectedValueInterval:expectedValueIntervalMs
+                      completion:^(
+                          MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRNetworkCommissioningClusterNetworkConfigResponseParams *>(data), error);
+                      }];
 }
 @end
 
@@ -7089,7 +7196,11 @@
     [self retrieveLogsRequestWithParams:params
                          expectedValues:expectedDataValueDictionaries
                   expectedValueInterval:expectedValueIntervalMs
-                             completion:completionHandler];
+                             completion:^(
+                                 MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(static_cast<MTRDiagnosticLogsClusterRetrieveLogsResponseParams *>(data), error);
+                             }];
 }
 @end
 
@@ -7458,9 +7569,10 @@
                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                         completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetWatermarksWithExpectedValues:expectedValues
-                      expectedValueInterval:expectedValueIntervalMs
-                                 completion:completionHandler];
+    [self resetWatermarksWithParams:nil
+                     expectedValues:expectedValues
+              expectedValueInterval:expectedValueIntervalMs
+                  completionHandler:completionHandler];
 }
 @end
 
@@ -8104,7 +8216,10 @@
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                     completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetCountsWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self resetCountsWithParams:nil
+                 expectedValues:expectedValues
+          expectedValueInterval:expectedValueIntervalMs
+              completionHandler:completionHandler];
 }
 @end
 
@@ -8347,7 +8462,10 @@
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                     completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetCountsWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self resetCountsWithParams:nil
+                 expectedValues:expectedValues
+          expectedValueInterval:expectedValueIntervalMs
+              completionHandler:completionHandler];
 }
 @end
 
@@ -8558,7 +8676,10 @@
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                     completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self resetCountsWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self resetCountsWithParams:nil
+                 expectedValues:expectedValues
+          expectedValueInterval:expectedValueIntervalMs
+              completionHandler:completionHandler];
 }
 @end
 
@@ -9147,9 +9268,10 @@
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                             completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self revokeCommissioningWithExpectedValues:expectedValues
-                          expectedValueInterval:expectedValueIntervalMs
-                                     completion:completionHandler];
+    [self revokeCommissioningWithParams:nil
+                         expectedValues:expectedValues
+                  expectedValueInterval:expectedValueIntervalMs
+                      completionHandler:completionHandler];
 }
 @end
 
@@ -9661,7 +9783,12 @@
     [self attestationRequestWithParams:params
                         expectedValues:expectedDataValueDictionaries
                  expectedValueInterval:expectedValueIntervalMs
-                            completion:completionHandler];
+                            completion:^(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data,
+                                NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(
+                                    static_cast<MTROperationalCredentialsClusterAttestationResponseParams *>(data), error);
+                            }];
 }
 - (void)certificateChainRequestWithParams:(MTROperationalCredentialsClusterCertificateChainRequestParams *)params
                            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -9669,10 +9796,16 @@
                         completionHandler:(void (^)(MTROperationalCredentialsClusterCertificateChainResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
 {
-    [self certificateChainRequestWithParams:params
-                             expectedValues:expectedDataValueDictionaries
-                      expectedValueInterval:expectedValueIntervalMs
-                                 completion:completionHandler];
+    [self
+        certificateChainRequestWithParams:params
+                           expectedValues:expectedDataValueDictionaries
+                    expectedValueInterval:expectedValueIntervalMs
+                               completion:^(MTROperationalCredentialsClusterCertificateChainResponseParams * _Nullable data,
+                                   NSError * _Nullable error) {
+                                   // Cast is safe because subclass does not add any selectors.
+                                   completionHandler(
+                                       static_cast<MTROperationalCredentialsClusterCertificateChainResponseParams *>(data), error);
+                               }];
 }
 - (void)CSRRequestWithParams:(MTROperationalCredentialsClusterCSRRequestParams *)params
               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -9683,7 +9816,10 @@
     [self CSRRequestWithParams:params
                 expectedValues:expectedDataValueDictionaries
          expectedValueInterval:expectedValueIntervalMs
-                    completion:completionHandler];
+                    completion:^(MTROperationalCredentialsClusterCSRResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTROperationalCredentialsClusterCSRResponseParams *>(data), error);
+                    }];
 }
 - (void)addNOCWithParams:(MTROperationalCredentialsClusterAddNOCParams *)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -9694,7 +9830,10 @@
     [self addNOCWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                   }];
 }
 - (void)updateNOCWithParams:(MTROperationalCredentialsClusterUpdateNOCParams *)params
              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -9705,7 +9844,10 @@
     [self updateNOCWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                   }];
 }
 - (void)updateFabricLabelWithParams:(MTROperationalCredentialsClusterUpdateFabricLabelParams *)params
                      expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -9716,7 +9858,11 @@
     [self updateFabricLabelWithParams:params
                        expectedValues:expectedDataValueDictionaries
                 expectedValueInterval:expectedValueIntervalMs
-                           completion:completionHandler];
+                           completion:^(
+                               MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                               // Cast is safe because subclass does not add any selectors.
+                               completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                           }];
 }
 - (void)removeFabricWithParams:(MTROperationalCredentialsClusterRemoveFabricParams *)params
                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -9727,7 +9873,10 @@
     [self removeFabricWithParams:params
                   expectedValues:expectedDataValueDictionaries
            expectedValueInterval:expectedValueIntervalMs
-                      completion:completionHandler];
+                      completion:^(MTROperationalCredentialsClusterNOCResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTROperationalCredentialsClusterNOCResponseParams *>(data), error);
+                      }];
 }
 - (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAddTrustedRootCertificateParams *)params
                              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -10125,7 +10274,10 @@
     [self keySetReadWithParams:params
                 expectedValues:expectedDataValueDictionaries
          expectedValueInterval:expectedValueIntervalMs
-                    completion:completionHandler];
+                    completion:^(MTRGroupKeyManagementClusterKeySetReadResponseParams * _Nullable data, NSError * _Nullable error) {
+                        // Cast is safe because subclass does not add any selectors.
+                        completionHandler(static_cast<MTRGroupKeyManagementClusterKeySetReadResponseParams *>(data), error);
+                    }];
 }
 - (void)keySetRemoveWithParams:(MTRGroupKeyManagementClusterKeySetRemoveParams *)params
                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -10146,7 +10298,12 @@
     [self keySetReadAllIndicesWithParams:params
                           expectedValues:expectedDataValueDictionaries
                    expectedValueInterval:expectedValueIntervalMs
-                              completion:completionHandler];
+                              completion:^(MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams * _Nullable data,
+                                  NSError * _Nullable error) {
+                                  // Cast is safe because subclass does not add any selectors.
+                                  completionHandler(
+                                      static_cast<MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams *>(data), error);
+                              }];
 }
 @end
 
@@ -12345,7 +12502,11 @@
     [self getWeekDayScheduleWithParams:params
                         expectedValues:expectedDataValueDictionaries
                  expectedValueInterval:expectedValueIntervalMs
-                            completion:completionHandler];
+                            completion:^(
+                                MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRDoorLockClusterGetWeekDayScheduleResponseParams *>(data), error);
+                            }];
 }
 - (void)clearWeekDayScheduleWithParams:(MTRDoorLockClusterClearWeekDayScheduleParams *)params
                         expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -12376,7 +12537,11 @@
     [self getYearDayScheduleWithParams:params
                         expectedValues:expectedDataValueDictionaries
                  expectedValueInterval:expectedValueIntervalMs
-                            completion:completionHandler];
+                            completion:^(
+                                MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRDoorLockClusterGetYearDayScheduleResponseParams *>(data), error);
+                            }];
 }
 - (void)clearYearDayScheduleWithParams:(MTRDoorLockClusterClearYearDayScheduleParams *)params
                         expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -12407,7 +12572,11 @@
     [self getHolidayScheduleWithParams:params
                         expectedValues:expectedDataValueDictionaries
                  expectedValueInterval:expectedValueIntervalMs
-                            completion:completionHandler];
+                            completion:^(
+                                MTRDoorLockClusterGetHolidayScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                                // Cast is safe because subclass does not add any selectors.
+                                completionHandler(static_cast<MTRDoorLockClusterGetHolidayScheduleResponseParams *>(data), error);
+                            }];
 }
 - (void)clearHolidayScheduleWithParams:(MTRDoorLockClusterClearHolidayScheduleParams *)params
                         expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -12438,7 +12607,10 @@
     [self getUserWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRDoorLockClusterGetUserResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRDoorLockClusterGetUserResponseParams *>(data), error);
+                   }];
 }
 - (void)clearUserWithParams:(MTRDoorLockClusterClearUserParams *)params
              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -12459,7 +12631,10 @@
     [self setCredentialWithParams:params
                    expectedValues:expectedDataValueDictionaries
             expectedValueInterval:expectedValueIntervalMs
-                       completion:completionHandler];
+                       completion:^(MTRDoorLockClusterSetCredentialResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRDoorLockClusterSetCredentialResponseParams *>(data), error);
+                       }];
 }
 - (void)getCredentialStatusWithParams:(MTRDoorLockClusterGetCredentialStatusParams *)params
                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -12470,7 +12645,11 @@
     [self getCredentialStatusWithParams:params
                          expectedValues:expectedDataValueDictionaries
                   expectedValueInterval:expectedValueIntervalMs
-                             completion:completionHandler];
+                             completion:^(
+                                 MTRDoorLockClusterGetCredentialStatusResponseParams * _Nullable data, NSError * _Nullable error) {
+                                 // Cast is safe because subclass does not add any selectors.
+                                 completionHandler(static_cast<MTRDoorLockClusterGetCredentialStatusResponseParams *>(data), error);
+                             }];
 }
 - (void)clearCredentialWithParams:(MTRDoorLockClusterClearCredentialParams *)params
                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -13121,7 +13300,10 @@
              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                  completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self upOrOpenWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self upOrOpenWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)downOrCloseWithParams:(MTRWindowCoveringClusterDownOrCloseParams * _Nullable)params
                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -13137,7 +13319,10 @@
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                     completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self downOrCloseWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self downOrCloseWithParams:nil
+                 expectedValues:expectedValues
+          expectedValueInterval:expectedValueIntervalMs
+              completionHandler:completionHandler];
 }
 - (void)stopMotionWithParams:(MTRWindowCoveringClusterStopMotionParams * _Nullable)params
               expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -13153,7 +13338,10 @@
                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                    completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self stopMotionWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self stopMotionWithParams:nil
+                expectedValues:expectedValues
+         expectedValueInterval:expectedValueIntervalMs
+             completionHandler:completionHandler];
 }
 - (void)goToLiftValueWithParams:(MTRWindowCoveringClusterGoToLiftValueParams *)params
                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -13589,9 +13777,10 @@
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                            completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self barrierControlStopWithExpectedValues:expectedValues
-                         expectedValueInterval:expectedValueIntervalMs
-                                    completion:completionHandler];
+    [self barrierControlStopWithParams:nil
+                        expectedValues:expectedValues
+                 expectedValueInterval:expectedValueIntervalMs
+                     completionHandler:completionHandler];
 }
 @end
 
@@ -15184,7 +15373,11 @@
     [self getWeeklyScheduleWithParams:params
                        expectedValues:expectedDataValueDictionaries
                 expectedValueInterval:expectedValueIntervalMs
-                           completion:completionHandler];
+                           completion:^(
+                               MTRThermostatClusterGetWeeklyScheduleResponseParams * _Nullable data, NSError * _Nullable error) {
+                               // Cast is safe because subclass does not add any selectors.
+                               completionHandler(static_cast<MTRThermostatClusterGetWeeklyScheduleResponseParams *>(data), error);
+                           }];
 }
 - (void)clearWeeklyScheduleWithParams:(MTRThermostatClusterClearWeeklyScheduleParams * _Nullable)params
                        expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -15200,9 +15393,10 @@
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                             completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self clearWeeklyScheduleWithExpectedValues:expectedValues
-                          expectedValueInterval:expectedValueIntervalMs
-                                     completion:completionHandler];
+    [self clearWeeklyScheduleWithParams:nil
+                         expectedValues:expectedValues
+                  expectedValueInterval:expectedValueIntervalMs
+                      completionHandler:completionHandler];
 }
 @end
 
@@ -19145,7 +19339,10 @@
     [self changeChannelWithParams:params
                    expectedValues:expectedDataValueDictionaries
             expectedValueInterval:expectedValueIntervalMs
-                       completion:completionHandler];
+                       completion:^(MTRChannelClusterChangeChannelResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRChannelClusterChangeChannelResponseParams *>(data), error);
+                       }];
 }
 - (void)changeChannelByNumberWithParams:(MTRChannelClusterChangeChannelByNumberParams *)params
                          expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -19308,7 +19505,11 @@
     [self navigateTargetWithParams:params
                     expectedValues:expectedDataValueDictionaries
              expectedValueInterval:expectedValueIntervalMs
-                        completion:completionHandler];
+                        completion:^(
+                            MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data, NSError * _Nullable error) {
+                            // Cast is safe because subclass does not add any selectors.
+                            completionHandler(static_cast<MTRTargetNavigatorClusterNavigateTargetResponseParams *>(data), error);
+                        }];
 }
 @end
 
@@ -20004,14 +20205,20 @@
     [self playWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 - (void)playWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
              completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
-    [self playWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self playWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)pauseWithParams:(MTRMediaPlaybackClusterPauseParams * _Nullable)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20022,14 +20229,20 @@
     [self pauseWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 - (void)pauseWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
               completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                     NSError * _Nullable error))completionHandler
 {
-    [self pauseWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self pauseWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)stopPlaybackWithParams:(MTRMediaPlaybackClusterStopPlaybackParams * _Nullable)params
                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20040,14 +20253,20 @@
     [self stopPlaybackWithParams:params
                   expectedValues:expectedDataValueDictionaries
            expectedValueInterval:expectedValueIntervalMs
-                      completion:completionHandler];
+                      completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                      }];
 }
 - (void)stopPlaybackWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                      completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
 {
-    [self stopPlaybackWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self stopPlaybackWithParams:nil
+                  expectedValues:expectedValues
+           expectedValueInterval:expectedValueIntervalMs
+               completionHandler:completionHandler];
 }
 - (void)startOverWithParams:(MTRMediaPlaybackClusterStartOverParams * _Nullable)params
              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20058,14 +20277,20 @@
     [self startOverWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 - (void)startOverWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                   completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                         NSError * _Nullable error))completionHandler
 {
-    [self startOverWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self startOverWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)previousWithParams:(MTRMediaPlaybackClusterPreviousParams * _Nullable)params
             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20076,14 +20301,20 @@
     [self previousWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 - (void)previousWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                  completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
-    [self previousWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self previousWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)nextWithParams:(MTRMediaPlaybackClusterNextParams * _Nullable)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20094,14 +20325,20 @@
     [self nextWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 - (void)nextWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
              completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
-    [self nextWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self nextWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)rewindWithParams:(MTRMediaPlaybackClusterRewindParams * _Nullable)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20112,14 +20349,20 @@
     [self rewindWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 - (void)rewindWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                      NSError * _Nullable error))completionHandler
 {
-    [self rewindWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self rewindWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 - (void)fastForwardWithParams:(MTRMediaPlaybackClusterFastForwardParams * _Nullable)params
                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20130,14 +20373,20 @@
     [self fastForwardWithParams:params
                  expectedValues:expectedDataValueDictionaries
           expectedValueInterval:expectedValueIntervalMs
-                     completion:completionHandler];
+                     completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                     }];
 }
 - (void)fastForwardWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                     completionHandler:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data,
                                           NSError * _Nullable error))completionHandler
 {
-    [self fastForwardWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self fastForwardWithParams:nil
+                 expectedValues:expectedValues
+          expectedValueInterval:expectedValueIntervalMs
+              completionHandler:completionHandler];
 }
 - (void)skipForwardWithParams:(MTRMediaPlaybackClusterSkipForwardParams *)params
                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20148,7 +20397,10 @@
     [self skipForwardWithParams:params
                  expectedValues:expectedDataValueDictionaries
           expectedValueInterval:expectedValueIntervalMs
-                     completion:completionHandler];
+                     completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                     }];
 }
 - (void)skipBackwardWithParams:(MTRMediaPlaybackClusterSkipBackwardParams *)params
                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20159,7 +20411,10 @@
     [self skipBackwardWithParams:params
                   expectedValues:expectedDataValueDictionaries
            expectedValueInterval:expectedValueIntervalMs
-                      completion:completionHandler];
+                      completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                      }];
 }
 - (void)seekWithParams:(MTRMediaPlaybackClusterSeekParams *)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20170,7 +20425,10 @@
     [self seekWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRMediaPlaybackClusterPlaybackResponseParams *>(data), error);
+                   }];
 }
 @end
 
@@ -20491,9 +20749,10 @@
                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                         completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self showInputStatusWithExpectedValues:expectedValues
-                      expectedValueInterval:expectedValueIntervalMs
-                                 completion:completionHandler];
+    [self showInputStatusWithParams:nil
+                     expectedValues:expectedValues
+              expectedValueInterval:expectedValueIntervalMs
+                  completionHandler:completionHandler];
 }
 - (void)hideInputStatusWithParams:(MTRMediaInputClusterHideInputStatusParams * _Nullable)params
                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20509,9 +20768,10 @@
                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                         completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self hideInputStatusWithExpectedValues:expectedValues
-                      expectedValueInterval:expectedValueIntervalMs
-                                 completion:completionHandler];
+    [self hideInputStatusWithParams:nil
+                     expectedValues:expectedValues
+              expectedValueInterval:expectedValueIntervalMs
+                  completionHandler:completionHandler];
 }
 - (void)renameInputWithParams:(MTRMediaInputClusterRenameInputParams *)params
                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -20657,7 +20917,10 @@
           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
               completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self sleepWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self sleepWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 @end
 
@@ -20780,7 +21043,10 @@
     [self sendKeyWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRKeypadInputClusterSendKeyResponseParams *>(data), error);
+                   }];
 }
 @end
 
@@ -21141,7 +21407,10 @@
     [self launchContentWithParams:params
                    expectedValues:expectedDataValueDictionaries
             expectedValueInterval:expectedValueIntervalMs
-                       completion:completionHandler];
+                       completion:^(MTRContentLauncherClusterLaunchResponseParams * _Nullable data, NSError * _Nullable error) {
+                           // Cast is safe because subclass does not add any selectors.
+                           completionHandler(static_cast<MTRContentLauncherClusterLaunchResponseParams *>(data), error);
+                       }];
 }
 - (void)launchURLWithParams:(MTRContentLauncherClusterLaunchURLParams *)params
              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -21152,7 +21421,10 @@
     [self launchURLWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRContentLauncherClusterLaunchResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRContentLauncherClusterLaunchResponseParams *>(data), error);
+                   }];
 }
 @end
 
@@ -21610,7 +21882,10 @@
     [self launchAppWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRApplicationLauncherClusterLauncherResponseParams *>(data), error);
+                   }];
 }
 - (void)stopAppWithParams:(MTRApplicationLauncherClusterStopAppParams *)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -21621,7 +21896,10 @@
     [self stopAppWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRApplicationLauncherClusterLauncherResponseParams *>(data), error);
+                   }];
 }
 - (void)hideAppWithParams:(MTRApplicationLauncherClusterHideAppParams *)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -21632,7 +21910,10 @@
     [self hideAppWithParams:params
                expectedValues:expectedDataValueDictionaries
         expectedValueInterval:expectedValueIntervalMs
-                   completion:completionHandler];
+                   completion:^(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error) {
+                       // Cast is safe because subclass does not add any selectors.
+                       completionHandler(static_cast<MTRApplicationLauncherClusterLauncherResponseParams *>(data), error);
+                   }];
 }
 @end
 
@@ -21998,7 +22279,10 @@
     [self getSetupPINWithParams:params
                  expectedValues:expectedDataValueDictionaries
           expectedValueInterval:expectedValueIntervalMs
-                     completion:completionHandler];
+                     completion:^(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data, NSError * _Nullable error) {
+                         // Cast is safe because subclass does not add any selectors.
+                         completionHandler(static_cast<MTRAccountLoginClusterGetSetupPINResponseParams *>(data), error);
+                     }];
 }
 - (void)loginWithParams:(MTRAccountLoginClusterLoginParams *)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -22024,7 +22308,10 @@
            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self logoutWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self logoutWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
 @end
 
@@ -23402,9 +23689,10 @@
                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                               completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self getProfileInfoCommandWithExpectedValues:expectedValues
-                            expectedValueInterval:expectedValueIntervalMs
-                                       completion:completionHandler];
+    [self getProfileInfoCommandWithParams:nil
+                           expectedValues:expectedValues
+                    expectedValueInterval:expectedValueIntervalMs
+                        completionHandler:completionHandler];
 }
 - (void)getMeasurementProfileCommandWithParams:(MTRElectricalMeasurementClusterGetMeasurementProfileCommandParams *)params
                                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
@@ -27517,14 +27805,17 @@
 
 @end
 
-@implementation MTRClusterUnitTesting (Deprecated)
+@implementation MTRClusterTestCluster
+@end
+
+@implementation MTRClusterTestCluster (Deprecated)
 
 - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint queue:(dispatch_queue_t)queue
 {
     return [self initWithDevice:device endpointID:@(endpoint) queue:queue];
 }
 
-- (void)testWithParams:(MTRUnitTestingClusterTestParams * _Nullable)params
+- (void)testWithParams:(MTRTestClusterClusterTestParams * _Nullable)params
            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
         completionHandler:(MTRStatusCompletion)completionHandler
@@ -27538,9 +27829,12 @@
          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
              completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self testWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self testWithParams:nil
+               expectedValues:expectedValues
+        expectedValueInterval:expectedValueIntervalMs
+            completionHandler:completionHandler];
 }
-- (void)testNotHandledWithParams:(MTRUnitTestingClusterTestNotHandledParams * _Nullable)params
+- (void)testNotHandledWithParams:(MTRTestClusterClusterTestNotHandledParams * _Nullable)params
                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                completionHandler:(MTRStatusCompletion)completionHandler
@@ -27554,29 +27848,36 @@
                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                        completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self testNotHandledWithExpectedValues:expectedValues
-                     expectedValueInterval:expectedValueIntervalMs
-                                completion:completionHandler];
+    [self testNotHandledWithParams:nil
+                    expectedValues:expectedValues
+             expectedValueInterval:expectedValueIntervalMs
+                 completionHandler:completionHandler];
 }
-- (void)testSpecificWithParams:(MTRUnitTestingClusterTestSpecificParams * _Nullable)params
+- (void)testSpecificWithParams:(MTRTestClusterClusterTestSpecificParams * _Nullable)params
                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-             completionHandler:(void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data,
+             completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                    NSError * _Nullable error))completionHandler
 {
     [self testSpecificWithParams:params
                   expectedValues:expectedDataValueDictionaries
            expectedValueInterval:expectedValueIntervalMs
-                      completion:completionHandler];
+                      completion:^(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data, NSError * _Nullable error) {
+                          // Cast is safe because subclass does not add any selectors.
+                          completionHandler(static_cast<MTRTestClusterClusterTestSpecificResponseParams *>(data), error);
+                      }];
 }
 - (void)testSpecificWithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues
                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                     completionHandler:(void (^)(MTRUnitTestingClusterTestSpecificResponseParams * _Nullable data,
+                     completionHandler:(void (^)(MTRTestClusterClusterTestSpecificResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
 {
-    [self testSpecificWithExpectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completionHandler];
+    [self testSpecificWithParams:nil
+                  expectedValues:expectedValues
+           expectedValueInterval:expectedValueIntervalMs
+               completionHandler:completionHandler];
 }
-- (void)testUnknownCommandWithParams:(MTRUnitTestingClusterTestUnknownCommandParams * _Nullable)params
+- (void)testUnknownCommandWithParams:(MTRTestClusterClusterTestUnknownCommandParams * _Nullable)params
                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -27590,171 +27891,240 @@
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                            completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self testUnknownCommandWithExpectedValues:expectedValues
-                         expectedValueInterval:expectedValueIntervalMs
-                                    completion:completionHandler];
+    [self testUnknownCommandWithParams:nil
+                        expectedValues:expectedValues
+                 expectedValueInterval:expectedValueIntervalMs
+                     completionHandler:completionHandler];
 }
-- (void)testAddArgumentsWithParams:(MTRUnitTestingClusterTestAddArgumentsParams *)params
+- (void)testAddArgumentsWithParams:(MTRTestClusterClusterTestAddArgumentsParams *)params
                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestAddArgumentsResponseParams * _Nullable data,
+                 completionHandler:(void (^)(MTRTestClusterClusterTestAddArgumentsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
     [self testAddArgumentsWithParams:params
                       expectedValues:expectedDataValueDictionaries
                expectedValueInterval:expectedValueIntervalMs
-                          completion:completionHandler];
+                          completion:^(
+                              MTRUnitTestingClusterTestAddArgumentsResponseParams * _Nullable data, NSError * _Nullable error) {
+                              // Cast is safe because subclass does not add any selectors.
+                              completionHandler(static_cast<MTRTestClusterClusterTestAddArgumentsResponseParams *>(data), error);
+                          }];
 }
-- (void)testSimpleArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleArgumentRequestParams *)params
+- (void)testSimpleArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleArgumentRequestParams *)params
                              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                          completionHandler:(void (^)(MTRUnitTestingClusterTestSimpleArgumentResponseParams * _Nullable data,
+                          completionHandler:(void (^)(MTRTestClusterClusterTestSimpleArgumentResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
 {
     [self testSimpleArgumentRequestWithParams:params
                                expectedValues:expectedDataValueDictionaries
                         expectedValueInterval:expectedValueIntervalMs
-                                   completion:completionHandler];
+                                   completion:^(MTRUnitTestingClusterTestSimpleArgumentResponseParams * _Nullable data,
+                                       NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(
+                                           static_cast<MTRTestClusterClusterTestSimpleArgumentResponseParams *>(data), error);
+                                   }];
 }
-- (void)testStructArrayArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArrayArgumentRequestParams *)params
+- (void)testStructArrayArgumentRequestWithParams:(MTRTestClusterClusterTestStructArrayArgumentRequestParams *)params
                                   expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                            expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                                completionHandler:
-                                   (void (^)(MTRUnitTestingClusterTestStructArrayArgumentResponseParams * _Nullable data,
+                                   (void (^)(MTRTestClusterClusterTestStructArrayArgumentResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
     [self testStructArrayArgumentRequestWithParams:params
                                     expectedValues:expectedDataValueDictionaries
                              expectedValueInterval:expectedValueIntervalMs
-                                        completion:completionHandler];
+                                        completion:^(MTRUnitTestingClusterTestStructArrayArgumentResponseParams * _Nullable data,
+                                            NSError * _Nullable error) {
+                                            // Cast is safe because subclass does not add any selectors.
+                                            completionHandler(
+                                                static_cast<MTRTestClusterClusterTestStructArrayArgumentResponseParams *>(data),
+                                                error);
+                                        }];
 }
-- (void)testStructArgumentRequestWithParams:(MTRUnitTestingClusterTestStructArgumentRequestParams *)params
+- (void)testStructArgumentRequestWithParams:(MTRTestClusterClusterTestStructArgumentRequestParams *)params
                              expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                       expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                          completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                          completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completionHandler
 {
     [self testStructArgumentRequestWithParams:params
                                expectedValues:expectedDataValueDictionaries
                         expectedValueInterval:expectedValueIntervalMs
-                                   completion:completionHandler];
+                                   completion:^(
+                                       MTRUnitTestingClusterBooleanResponseParams * _Nullable data, NSError * _Nullable error) {
+                                       // Cast is safe because subclass does not add any selectors.
+                                       completionHandler(static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                   }];
 }
-- (void)testNestedStructArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructArgumentRequestParams *)params
+- (void)testNestedStructArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructArgumentRequestParams *)params
                                    expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                             expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                                completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                       NSError * _Nullable error))completionHandler
 {
     [self testNestedStructArgumentRequestWithParams:params
                                      expectedValues:expectedDataValueDictionaries
                               expectedValueInterval:expectedValueIntervalMs
-                                         completion:completionHandler];
+                                         completion:^(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                             NSError * _Nullable error) {
+                                             // Cast is safe because subclass does not add any selectors.
+                                             completionHandler(
+                                                 static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                         }];
 }
-- (void)testListStructArgumentRequestWithParams:(MTRUnitTestingClusterTestListStructArgumentRequestParams *)params
+- (void)testListStructArgumentRequestWithParams:(MTRTestClusterClusterTestListStructArgumentRequestParams *)params
                                  expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                           expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                              completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                              completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                     NSError * _Nullable error))completionHandler
 {
-    [self testListStructArgumentRequestWithParams:params
-                                   expectedValues:expectedDataValueDictionaries
-                            expectedValueInterval:expectedValueIntervalMs
-                                       completion:completionHandler];
+    [self
+        testListStructArgumentRequestWithParams:params
+                                 expectedValues:expectedDataValueDictionaries
+                          expectedValueInterval:expectedValueIntervalMs
+                                     completion:^(
+                                         MTRUnitTestingClusterBooleanResponseParams * _Nullable data, NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                     }];
 }
-- (void)testListInt8UArgumentRequestWithParams:(MTRUnitTestingClusterTestListInt8UArgumentRequestParams *)params
+- (void)testListInt8UArgumentRequestWithParams:(MTRTestClusterClusterTestListInt8UArgumentRequestParams *)params
                                 expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                          expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                             completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                             completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                    NSError * _Nullable error))completionHandler
 {
     [self testListInt8UArgumentRequestWithParams:params
                                   expectedValues:expectedDataValueDictionaries
                            expectedValueInterval:expectedValueIntervalMs
-                                      completion:completionHandler];
+                                      completion:^(
+                                          MTRUnitTestingClusterBooleanResponseParams * _Nullable data, NSError * _Nullable error) {
+                                          // Cast is safe because subclass does not add any selectors.
+                                          completionHandler(static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                      }];
 }
-- (void)testNestedStructListArgumentRequestWithParams:(MTRUnitTestingClusterTestNestedStructListArgumentRequestParams *)params
+- (void)testNestedStructListArgumentRequestWithParams:(MTRTestClusterClusterTestNestedStructListArgumentRequestParams *)params
                                        expectedValues:
                                            (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                                    completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                    completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                           NSError * _Nullable error))completionHandler
 {
     [self testNestedStructListArgumentRequestWithParams:params
                                          expectedValues:expectedDataValueDictionaries
                                   expectedValueInterval:expectedValueIntervalMs
-                                             completion:completionHandler];
+                                             completion:^(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                                 NSError * _Nullable error) {
+                                                 // Cast is safe because subclass does not add any selectors.
+                                                 completionHandler(
+                                                     static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                             }];
 }
 - (void)testListNestedStructListArgumentRequestWithParams:
-            (MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams *)params
+            (MTRTestClusterClusterTestListNestedStructListArgumentRequestParams *)params
                                            expectedValues:
                                                (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                                        completionHandler:(void (^)(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                        completionHandler:(void (^)(MTRTestClusterClusterBooleanResponseParams * _Nullable data,
                                                               NSError * _Nullable error))completionHandler
 {
     [self testListNestedStructListArgumentRequestWithParams:params
                                              expectedValues:expectedDataValueDictionaries
                                       expectedValueInterval:expectedValueIntervalMs
-                                                 completion:completionHandler];
+                                                 completion:^(MTRUnitTestingClusterBooleanResponseParams * _Nullable data,
+                                                     NSError * _Nullable error) {
+                                                     // Cast is safe because subclass does not add any selectors.
+                                                     completionHandler(
+                                                         static_cast<MTRTestClusterClusterBooleanResponseParams *>(data), error);
+                                                 }];
 }
-- (void)testListInt8UReverseRequestWithParams:(MTRUnitTestingClusterTestListInt8UReverseRequestParams *)params
+- (void)testListInt8UReverseRequestWithParams:(MTRTestClusterClusterTestListInt8UReverseRequestParams *)params
                                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestListInt8UReverseResponseParams * _Nullable data,
+                            completionHandler:(void (^)(MTRTestClusterClusterTestListInt8UReverseResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
 {
     [self testListInt8UReverseRequestWithParams:params
                                  expectedValues:expectedDataValueDictionaries
                           expectedValueInterval:expectedValueIntervalMs
-                                     completion:completionHandler];
+                                     completion:^(MTRUnitTestingClusterTestListInt8UReverseResponseParams * _Nullable data,
+                                         NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(
+                                             static_cast<MTRTestClusterClusterTestListInt8UReverseResponseParams *>(data), error);
+                                     }];
 }
-- (void)testEnumsRequestWithParams:(MTRUnitTestingClusterTestEnumsRequestParams *)params
+- (void)testEnumsRequestWithParams:(MTRTestClusterClusterTestEnumsRequestParams *)params
                     expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
              expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                 completionHandler:(void (^)(MTRUnitTestingClusterTestEnumsResponseParams * _Nullable data,
+                 completionHandler:(void (^)(MTRTestClusterClusterTestEnumsResponseParams * _Nullable data,
                                        NSError * _Nullable error))completionHandler
 {
     [self testEnumsRequestWithParams:params
                       expectedValues:expectedDataValueDictionaries
                expectedValueInterval:expectedValueIntervalMs
-                          completion:completionHandler];
+                          completion:^(MTRUnitTestingClusterTestEnumsResponseParams * _Nullable data, NSError * _Nullable error) {
+                              // Cast is safe because subclass does not add any selectors.
+                              completionHandler(static_cast<MTRTestClusterClusterTestEnumsResponseParams *>(data), error);
+                          }];
 }
-- (void)testNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestNullableOptionalRequestParams * _Nullable)params
+- (void)testNullableOptionalRequestWithParams:(MTRTestClusterClusterTestNullableOptionalRequestParams * _Nullable)params
                                expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                         expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                            completionHandler:(void (^)(MTRUnitTestingClusterTestNullableOptionalResponseParams * _Nullable data,
+                            completionHandler:(void (^)(MTRTestClusterClusterTestNullableOptionalResponseParams * _Nullable data,
                                                   NSError * _Nullable error))completionHandler
 {
     [self testNullableOptionalRequestWithParams:params
                                  expectedValues:expectedDataValueDictionaries
                           expectedValueInterval:expectedValueIntervalMs
-                                     completion:completionHandler];
+                                     completion:^(MTRUnitTestingClusterTestNullableOptionalResponseParams * _Nullable data,
+                                         NSError * _Nullable error) {
+                                         // Cast is safe because subclass does not add any selectors.
+                                         completionHandler(
+                                             static_cast<MTRTestClusterClusterTestNullableOptionalResponseParams *>(data), error);
+                                     }];
 }
-- (void)testComplexNullableOptionalRequestWithParams:(MTRUnitTestingClusterTestComplexNullableOptionalRequestParams *)params
+- (void)testComplexNullableOptionalRequestWithParams:(MTRTestClusterClusterTestComplexNullableOptionalRequestParams *)params
                                       expectedValues:
                                           (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                                    completionHandler:
-                                       (void (^)(MTRUnitTestingClusterTestComplexNullableOptionalResponseParams * _Nullable data,
+                                       (void (^)(MTRTestClusterClusterTestComplexNullableOptionalResponseParams * _Nullable data,
                                            NSError * _Nullable error))completionHandler
 {
     [self testComplexNullableOptionalRequestWithParams:params
                                         expectedValues:expectedDataValueDictionaries
                                  expectedValueInterval:expectedValueIntervalMs
-                                            completion:completionHandler];
+                                            completion:^(
+                                                MTRUnitTestingClusterTestComplexNullableOptionalResponseParams * _Nullable data,
+                                                NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(
+                                                    static_cast<MTRTestClusterClusterTestComplexNullableOptionalResponseParams *>(
+                                                        data),
+                                                    error);
+                                            }];
 }
-- (void)simpleStructEchoRequestWithParams:(MTRUnitTestingClusterSimpleStructEchoRequestParams *)params
+- (void)simpleStructEchoRequestWithParams:(MTRTestClusterClusterSimpleStructEchoRequestParams *)params
                            expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                     expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                        completionHandler:(void (^)(MTRUnitTestingClusterSimpleStructResponseParams * _Nullable data,
+                        completionHandler:(void (^)(MTRTestClusterClusterSimpleStructResponseParams * _Nullable data,
                                               NSError * _Nullable error))completionHandler
 {
     [self simpleStructEchoRequestWithParams:params
                              expectedValues:expectedDataValueDictionaries
                       expectedValueInterval:expectedValueIntervalMs
-                                 completion:completionHandler];
+                                 completion:^(
+                                     MTRUnitTestingClusterSimpleStructResponseParams * _Nullable data, NSError * _Nullable error) {
+                                     // Cast is safe because subclass does not add any selectors.
+                                     completionHandler(static_cast<MTRTestClusterClusterSimpleStructResponseParams *>(data), error);
+                                 }];
 }
-- (void)timedInvokeRequestWithParams:(MTRUnitTestingClusterTimedInvokeRequestParams * _Nullable)params
+- (void)timedInvokeRequestWithParams:(MTRTestClusterClusterTimedInvokeRequestParams * _Nullable)params
                       expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                    completionHandler:(MTRStatusCompletion)completionHandler
@@ -27768,11 +28138,12 @@
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                            completionHandler:(MTRStatusCompletion)completionHandler
 {
-    [self timedInvokeRequestWithExpectedValues:expectedValues
-                         expectedValueInterval:expectedValueIntervalMs
-                                    completion:completionHandler];
+    [self timedInvokeRequestWithParams:nil
+                        expectedValues:expectedValues
+                 expectedValueInterval:expectedValueIntervalMs
+                     completionHandler:completionHandler];
 }
-- (void)testSimpleOptionalArgumentRequestWithParams:(MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
+- (void)testSimpleOptionalArgumentRequestWithParams:(MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams * _Nullable)params
                                      expectedValues:
                                          (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                               expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
@@ -27783,30 +28154,44 @@
                                 expectedValueInterval:expectedValueIntervalMs
                                            completion:completionHandler];
 }
-- (void)testEmitTestEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestEventRequestParams *)params
+- (void)testEmitTestEventRequestWithParams:(MTRTestClusterClusterTestEmitTestEventRequestParams *)params
                             expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                      expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
-                         completionHandler:(void (^)(MTRUnitTestingClusterTestEmitTestEventResponseParams * _Nullable data,
+                         completionHandler:(void (^)(MTRTestClusterClusterTestEmitTestEventResponseParams * _Nullable data,
                                                NSError * _Nullable error))completionHandler
 {
     [self testEmitTestEventRequestWithParams:params
                               expectedValues:expectedDataValueDictionaries
                        expectedValueInterval:expectedValueIntervalMs
-                                  completion:completionHandler];
+                                  completion:^(MTRUnitTestingClusterTestEmitTestEventResponseParams * _Nullable data,
+                                      NSError * _Nullable error) {
+                                      // Cast is safe because subclass does not add any selectors.
+                                      completionHandler(
+                                          static_cast<MTRTestClusterClusterTestEmitTestEventResponseParams *>(data), error);
+                                  }];
 }
-- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams *)params
+- (void)testEmitTestFabricScopedEventRequestWithParams:(MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams *)params
                                         expectedValues:
                                             (NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries
                                  expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                                      completionHandler:
                                          (void (^)(
-                                             MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
+                                             MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
                                              NSError * _Nullable error))completionHandler
 {
-    [self testEmitTestFabricScopedEventRequestWithParams:params
-                                          expectedValues:expectedDataValueDictionaries
-                                   expectedValueInterval:expectedValueIntervalMs
-                                              completion:completionHandler];
+    [self
+        testEmitTestFabricScopedEventRequestWithParams:params
+                                        expectedValues:expectedDataValueDictionaries
+                                 expectedValueInterval:expectedValueIntervalMs
+                                            completion:^(
+                                                MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
+                                                NSError * _Nullable error) {
+                                                // Cast is safe because subclass does not add any selectors.
+                                                completionHandler(
+                                                    static_cast<MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams *>(
+                                                        data),
+                                                    error);
+                                            }];
 }
 @end
 
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
index f9194ac..6c5241c 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
@@ -5196,6 +5196,7 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
@@ -5216,6 +5217,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestParams")
+@interface MTRTestClusterClusterTestParams : MTRUnitTestingClusterTestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSpecificResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull returnValue;
@@ -5238,6 +5245,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestSpecificResponseParams")
+@interface MTRTestClusterClusterTestSpecificResponseParams : MTRUnitTestingClusterTestSpecificResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNotHandledParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
@@ -5258,6 +5271,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestNotHandledParams")
+@interface MTRTestClusterClusterTestNotHandledParams : MTRUnitTestingClusterTestNotHandledParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestAddArgumentsResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull returnValue;
@@ -5280,6 +5299,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestAddArgumentsResponseParams")
+@interface MTRTestClusterClusterTestAddArgumentsResponseParams : MTRUnitTestingClusterTestAddArgumentsResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSpecificParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
@@ -5300,6 +5325,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestSpecificParams")
+@interface MTRTestClusterClusterTestSpecificParams : MTRUnitTestingClusterTestSpecificParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSimpleArgumentResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull returnValue;
@@ -5322,6 +5353,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestSimpleArgumentResponseParams")
+@interface MTRTestClusterClusterTestSimpleArgumentResponseParams : MTRUnitTestingClusterTestSimpleArgumentResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestUnknownCommandParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
@@ -5342,6 +5379,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestUnknownCommandParams")
+@interface MTRTestClusterClusterTestUnknownCommandParams : MTRUnitTestingClusterTestUnknownCommandParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestStructArrayArgumentResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSArray * _Nonnull arg1;
@@ -5374,6 +5417,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestStructArrayArgumentResponseParams")
+@interface MTRTestClusterClusterTestStructArrayArgumentResponseParams : MTRUnitTestingClusterTestStructArrayArgumentResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestAddArgumentsParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull arg1;
@@ -5398,6 +5447,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestAddArgumentsParams")
+@interface MTRTestClusterClusterTestAddArgumentsParams : MTRUnitTestingClusterTestAddArgumentsParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListInt8UReverseResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSArray * _Nonnull arg1;
@@ -5420,6 +5475,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestListInt8UReverseResponseParams")
+@interface MTRTestClusterClusterTestListInt8UReverseResponseParams : MTRUnitTestingClusterTestListInt8UReverseResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSimpleArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull arg1;
@@ -5442,6 +5503,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestSimpleArgumentRequestParams")
+@interface MTRTestClusterClusterTestSimpleArgumentRequestParams : MTRUnitTestingClusterTestSimpleArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEnumsResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull arg1;
@@ -5466,6 +5533,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEnumsResponseParams")
+@interface MTRTestClusterClusterTestEnumsResponseParams : MTRUnitTestingClusterTestEnumsResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestStructArrayArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSArray * _Nonnull arg1;
@@ -5498,6 +5571,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestStructArrayArgumentRequestParams")
+@interface MTRTestClusterClusterTestStructArrayArgumentRequestParams : MTRUnitTestingClusterTestStructArrayArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNullableOptionalResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull wasPresent;
@@ -5526,6 +5605,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestNullableOptionalResponseParams")
+@interface MTRTestClusterClusterTestNullableOptionalResponseParams : MTRUnitTestingClusterTestNullableOptionalResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestStructArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1;
@@ -5548,6 +5633,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestStructArgumentRequestParams")
+@interface MTRTestClusterClusterTestStructArgumentRequestParams : MTRUnitTestingClusterTestStructArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestComplexNullableOptionalResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull nullableIntWasNull;
@@ -5624,6 +5715,13 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestComplexNullableOptionalResponseParams")
+@interface MTRTestClusterClusterTestComplexNullableOptionalResponseParams
+    : MTRUnitTestingClusterTestComplexNullableOptionalResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNestedStructArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) MTRUnitTestingClusterNestedStruct * _Nonnull arg1;
@@ -5646,6 +5744,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestNestedStructArgumentRequestParams")
+@interface MTRTestClusterClusterTestNestedStructArgumentRequestParams : MTRUnitTestingClusterTestNestedStructArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterBooleanResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull value;
@@ -5668,6 +5772,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterBooleanResponseParams")
+@interface MTRTestClusterClusterBooleanResponseParams : MTRUnitTestingClusterBooleanResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListStructArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSArray * _Nonnull arg1;
@@ -5690,6 +5800,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestListStructArgumentRequestParams")
+@interface MTRTestClusterClusterTestListStructArgumentRequestParams : MTRUnitTestingClusterTestListStructArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterSimpleStructResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1;
@@ -5712,6 +5828,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterSimpleStructResponseParams")
+@interface MTRTestClusterClusterSimpleStructResponseParams : MTRUnitTestingClusterSimpleStructResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListInt8UArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSArray * _Nonnull arg1;
@@ -5734,6 +5856,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestListInt8UArgumentRequestParams")
+@interface MTRTestClusterClusterTestListInt8UArgumentRequestParams : MTRUnitTestingClusterTestListInt8UArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestEventResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull value;
@@ -5756,6 +5884,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestEventResponseParams")
+@interface MTRTestClusterClusterTestEmitTestEventResponseParams : MTRUnitTestingClusterTestEmitTestEventResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNestedStructListArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) MTRUnitTestingClusterNestedStructList * _Nonnull arg1;
@@ -5778,6 +5912,13 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestNestedStructListArgumentRequestParams")
+@interface MTRTestClusterClusterTestNestedStructListArgumentRequestParams
+    : MTRUnitTestingClusterTestNestedStructListArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull value;
@@ -5800,6 +5941,13 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams")
+@interface MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams
+    : MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSArray * _Nonnull arg1;
@@ -5822,6 +5970,13 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams")
+@interface MTRTestClusterClusterTestListNestedStructListArgumentRequestParams
+    : MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListInt8UReverseRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSArray * _Nonnull arg1;
@@ -5844,6 +5999,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestListInt8UReverseRequestParams")
+@interface MTRTestClusterClusterTestListInt8UReverseRequestParams : MTRUnitTestingClusterTestListInt8UReverseRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEnumsRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull arg1;
@@ -5868,6 +6029,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEnumsRequestParams")
+@interface MTRTestClusterClusterTestEnumsRequestParams : MTRUnitTestingClusterTestEnumsRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNullableOptionalRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nullable arg1;
@@ -5890,6 +6057,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestNullableOptionalRequestParams")
+@interface MTRTestClusterClusterTestNullableOptionalRequestParams : MTRUnitTestingClusterTestNullableOptionalRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestComplexNullableOptionalRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nullable nullableInt;
@@ -5934,6 +6107,13 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestComplexNullableOptionalRequestParams")
+@interface MTRTestClusterClusterTestComplexNullableOptionalRequestParams
+    : MTRUnitTestingClusterTestComplexNullableOptionalRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterSimpleStructEchoRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1;
@@ -5956,6 +6136,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterSimpleStructEchoRequestParams")
+@interface MTRTestClusterClusterSimpleStructEchoRequestParams : MTRUnitTestingClusterSimpleStructEchoRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTimedInvokeRequestParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
@@ -5976,6 +6162,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTimedInvokeRequestParams")
+@interface MTRTestClusterClusterTimedInvokeRequestParams : MTRUnitTestingClusterTimedInvokeRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nullable arg1;
@@ -5998,6 +6190,13 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams")
+@interface MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams
+    : MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestEventRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull arg1;
@@ -6024,6 +6223,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestEventRequestParams")
+@interface MTRTestClusterClusterTestEmitTestEventRequestParams : MTRUnitTestingClusterTestEmitTestEventRequestParams
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull arg1;
@@ -6046,6 +6251,12 @@
 - (instancetype)init;
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
+
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams")
+@interface MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams
+    : MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams
+@end
+
 @interface MTRFaultInjectionClusterFailAtFaultParams : NSObject <NSCopying>
 
 @property (nonatomic, copy) NSNumber * _Nonnull type;
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm
index afd0732..1206aaf 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.mm
@@ -7003,6 +7003,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestParams
+@end
 @implementation MTRUnitTestingClusterTestSpecificResponseParams
 - (instancetype)init
 {
@@ -7032,6 +7035,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestSpecificResponseParams
+@end
 @implementation MTRUnitTestingClusterTestNotHandledParams
 - (instancetype)init
 {
@@ -7057,6 +7063,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestNotHandledParams
+@end
 @implementation MTRUnitTestingClusterTestAddArgumentsResponseParams
 - (instancetype)init
 {
@@ -7086,6 +7095,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestAddArgumentsResponseParams
+@end
 @implementation MTRUnitTestingClusterTestSpecificParams
 - (instancetype)init
 {
@@ -7111,6 +7123,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestSpecificParams
+@end
 @implementation MTRUnitTestingClusterTestSimpleArgumentResponseParams
 - (instancetype)init
 {
@@ -7140,6 +7155,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestSimpleArgumentResponseParams
+@end
 @implementation MTRUnitTestingClusterTestUnknownCommandParams
 - (instancetype)init
 {
@@ -7165,6 +7183,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestUnknownCommandParams
+@end
 @implementation MTRUnitTestingClusterTestStructArrayArgumentResponseParams
 - (instancetype)init
 {
@@ -7209,6 +7230,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestStructArrayArgumentResponseParams
+@end
 @implementation MTRUnitTestingClusterTestAddArgumentsParams
 - (instancetype)init
 {
@@ -7241,6 +7265,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestAddArgumentsParams
+@end
 @implementation MTRUnitTestingClusterTestListInt8UReverseResponseParams
 - (instancetype)init
 {
@@ -7269,6 +7296,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestListInt8UReverseResponseParams
+@end
 @implementation MTRUnitTestingClusterTestSimpleArgumentRequestParams
 - (instancetype)init
 {
@@ -7297,6 +7327,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestSimpleArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterTestEnumsResponseParams
 - (instancetype)init
 {
@@ -7329,6 +7362,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestEnumsResponseParams
+@end
 @implementation MTRUnitTestingClusterTestStructArrayArgumentRequestParams
 - (instancetype)init
 {
@@ -7373,6 +7409,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestStructArrayArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterTestNullableOptionalResponseParams
 - (instancetype)init
 {
@@ -7411,6 +7450,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestNullableOptionalResponseParams
+@end
 @implementation MTRUnitTestingClusterTestStructArgumentRequestParams
 - (instancetype)init
 {
@@ -7439,6 +7481,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestStructArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterTestComplexNullableOptionalResponseParams
 - (instancetype)init
 {
@@ -7563,6 +7608,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestComplexNullableOptionalResponseParams
+@end
 @implementation MTRUnitTestingClusterTestNestedStructArgumentRequestParams
 - (instancetype)init
 {
@@ -7591,6 +7639,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestNestedStructArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterBooleanResponseParams
 - (instancetype)init
 {
@@ -7619,6 +7670,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterBooleanResponseParams
+@end
 @implementation MTRUnitTestingClusterTestListStructArgumentRequestParams
 - (instancetype)init
 {
@@ -7647,6 +7701,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestListStructArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterSimpleStructResponseParams
 - (instancetype)init
 {
@@ -7675,6 +7732,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterSimpleStructResponseParams
+@end
 @implementation MTRUnitTestingClusterTestListInt8UArgumentRequestParams
 - (instancetype)init
 {
@@ -7703,6 +7763,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestListInt8UArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterTestEmitTestEventResponseParams
 - (instancetype)init
 {
@@ -7731,6 +7794,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestEmitTestEventResponseParams
+@end
 @implementation MTRUnitTestingClusterTestNestedStructListArgumentRequestParams
 - (instancetype)init
 {
@@ -7759,6 +7825,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestNestedStructListArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams
 - (instancetype)init
 {
@@ -7787,6 +7856,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams
+@end
 @implementation MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams
 - (instancetype)init
 {
@@ -7815,6 +7887,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestListNestedStructListArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterTestListInt8UReverseRequestParams
 - (instancetype)init
 {
@@ -7843,6 +7918,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestListInt8UReverseRequestParams
+@end
 @implementation MTRUnitTestingClusterTestEnumsRequestParams
 - (instancetype)init
 {
@@ -7875,6 +7953,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestEnumsRequestParams
+@end
 @implementation MTRUnitTestingClusterTestNullableOptionalRequestParams
 - (instancetype)init
 {
@@ -7903,6 +7984,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestNullableOptionalRequestParams
+@end
 @implementation MTRUnitTestingClusterTestComplexNullableOptionalRequestParams
 - (instancetype)init
 {
@@ -7970,6 +8054,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestComplexNullableOptionalRequestParams
+@end
 @implementation MTRUnitTestingClusterSimpleStructEchoRequestParams
 - (instancetype)init
 {
@@ -7998,6 +8085,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterSimpleStructEchoRequestParams
+@end
 @implementation MTRUnitTestingClusterTimedInvokeRequestParams
 - (instancetype)init
 {
@@ -8023,6 +8113,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTimedInvokeRequestParams
+@end
 @implementation MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams
 - (instancetype)init
 {
@@ -8051,6 +8144,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams
+@end
 @implementation MTRUnitTestingClusterTestEmitTestEventRequestParams
 - (instancetype)init
 {
@@ -8086,6 +8182,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestEmitTestEventRequestParams
+@end
 @implementation MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams
 - (instancetype)init
 {
@@ -8114,6 +8213,9 @@
 }
 
 @end
+
+@implementation MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams
+@end
 @implementation MTRFaultInjectionClusterFailAtFaultParams
 - (instancetype)init
 {
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
index cfcac95..9d1a2aa 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
@@ -950,6 +950,7 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterSimpleStruct : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nonnull a;
 @property (nonatomic, copy) NSNumber * _Nonnull b;
@@ -964,6 +965,10 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterSimpleStruct")
+@interface MTRTestClusterClusterSimpleStruct : MTRUnitTestingClusterSimpleStruct
+@end
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestFabricScoped : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nonnull fabricSensitiveInt8u;
 @property (nonatomic, copy) NSNumber * _Nullable optionalFabricSensitiveInt8u;
@@ -978,6 +983,10 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestFabricScoped")
+@interface MTRTestClusterClusterTestFabricScoped : MTRUnitTestingClusterTestFabricScoped
+@end
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterNullablesAndOptionalsStruct : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nullable nullableInt;
 @property (nonatomic, copy) NSNumber * _Nullable optionalInt;
@@ -996,6 +1005,10 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterNullablesAndOptionalsStruct")
+@interface MTRTestClusterClusterNullablesAndOptionalsStruct : MTRUnitTestingClusterNullablesAndOptionalsStruct
+@end
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterNestedStruct : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nonnull a;
 @property (nonatomic, copy) NSNumber * _Nonnull b;
@@ -1005,6 +1018,10 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterNestedStruct")
+@interface MTRTestClusterClusterNestedStruct : MTRUnitTestingClusterNestedStruct
+@end
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterNestedStructList : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nonnull a;
 @property (nonatomic, copy) NSNumber * _Nonnull b;
@@ -1018,6 +1035,10 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterNestedStructList")
+@interface MTRTestClusterClusterNestedStructList : MTRUnitTestingClusterNestedStructList
+@end
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterDoubleNestedStructList : NSObject <NSCopying>
 @property (nonatomic, copy) NSArray * _Nonnull a;
 
@@ -1025,6 +1046,10 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterDoubleNestedStructList")
+@interface MTRTestClusterClusterDoubleNestedStructList : MTRUnitTestingClusterDoubleNestedStructList
+@end
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListStructOctet : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nonnull member1;
 @property (nonatomic, copy) NSData * _Nonnull member2;
@@ -1033,6 +1058,11 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestListStructOctet")
+@interface MTRTestClusterClusterTestListStructOctet : MTRUnitTestingClusterTestListStructOctet
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEventEvent : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nonnull arg1;
 @property (nonatomic, copy) NSNumber * _Nonnull arg2;
@@ -1045,6 +1075,11 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEventEvent")
+@interface MTRTestClusterClusterTestEventEvent : MTRUnitTestingClusterTestEventEvent
+@end
+
+MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestFabricScopedEventEvent : NSObject <NSCopying>
 @property (nonatomic, copy) NSNumber * _Nonnull fabricIndex;
 
@@ -1052,4 +1087,8 @@
 - (id)copyWithZone:(NSZone * _Nullable)zone;
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestFabricScopedEventEvent")
+@interface MTRTestClusterClusterTestFabricScopedEventEvent : MTRUnitTestingClusterTestFabricScopedEventEvent
+@end
+
 NS_ASSUME_NONNULL_END
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
index 2ddfba8..38f32e6 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.mm
@@ -3619,6 +3619,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterSimpleStruct : MTRUnitTestingClusterSimpleStruct
+@end
+
 @implementation MTRUnitTestingClusterTestFabricScoped
 - (instancetype)init
 {
@@ -3673,6 +3676,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterTestFabricScoped : MTRUnitTestingClusterTestFabricScoped
+@end
+
 @implementation MTRUnitTestingClusterNullablesAndOptionalsStruct
 - (instancetype)init
 {
@@ -3739,6 +3745,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterNullablesAndOptionalsStruct : MTRUnitTestingClusterNullablesAndOptionalsStruct
+@end
+
 @implementation MTRUnitTestingClusterNestedStruct
 - (instancetype)init
 {
@@ -3773,6 +3782,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterNestedStruct : MTRUnitTestingClusterNestedStruct
+@end
+
 @implementation MTRUnitTestingClusterNestedStructList
 - (instancetype)init
 {
@@ -3819,6 +3831,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterNestedStructList : MTRUnitTestingClusterNestedStructList
+@end
+
 @implementation MTRUnitTestingClusterDoubleNestedStructList
 - (instancetype)init
 {
@@ -3846,6 +3861,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterDoubleNestedStructList : MTRUnitTestingClusterDoubleNestedStructList
+@end
+
 @implementation MTRUnitTestingClusterTestListStructOctet
 - (instancetype)init
 {
@@ -3877,6 +3895,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterTestListStructOctet : MTRUnitTestingClusterTestListStructOctet
+@end
+
 @implementation MTRUnitTestingClusterTestEventEvent
 - (instancetype)init
 {
@@ -3920,6 +3941,9 @@
 
 @end
 
+@implementation MTRTestClusterClusterTestEventEvent : MTRUnitTestingClusterTestEventEvent
+@end
+
 @implementation MTRUnitTestingClusterTestFabricScopedEventEvent
 - (instancetype)init
 {
@@ -3948,4 +3972,7 @@
 
 @end
 
+@implementation MTRTestClusterClusterTestFabricScopedEventEvent : MTRUnitTestingClusterTestFabricScopedEventEvent
+@end
+
 NS_ASSUME_NONNULL_END