diff --git a/src/darwin/Framework/CHIP/MTRCluster.h b/src/darwin/Framework/CHIP/MTRCluster.h index d8d0b5dbf26923..f4a6887b476aa4 100644 --- a/src/darwin/Framework/CHIP/MTRCluster.h +++ b/src/darwin/Framework/CHIP/MTRCluster.h @@ -29,6 +29,7 @@ typedef void (^MTRStatusCompletion)(NSError * _Nullable error); typedef void (^MTRSubscriptionEstablishedHandler)(void); @class MTRBaseDevice; +@class MTRDevice; NS_ASSUME_NONNULL_BEGIN @@ -46,6 +47,24 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, readonly) NSNumber * endpointID NS_REFINED_FOR_SWIFT MTR_NEWLY_AVAILABLE; @end +/** + * Base for all MTRBaseCluster* types. + */ +MTR_NEWLY_AVAILABLE +@interface MTRGenericBaseCluster : MTRCluster +@end + +/** + * Base for all MTRCluster* types. + */ +MTR_NEWLY_AVAILABLE +@interface MTRGenericCluster : MTRCluster +/** + * The device this cluster object is associated with. + */ +@property (nonatomic, strong, readonly) MTRDevice * device; +@end + /** * MTRWriteParams * This is used to control the behavior of cluster writes. diff --git a/src/darwin/Framework/CHIP/MTRCluster.mm b/src/darwin/Framework/CHIP/MTRCluster.mm index 55c36ec04dbd72..27324cde294b85 100644 --- a/src/darwin/Framework/CHIP/MTRCluster.mm +++ b/src/darwin/Framework/CHIP/MTRCluster.mm @@ -36,6 +36,30 @@ - (instancetype)initWithEndpointID:(NSNumber *)endpointID queue:(dispatch_queue_ @end +@implementation MTRGenericBaseCluster + +- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue +{ + if (self = [super initWithEndpointID:endpointID queue:queue]) { + _device = device; + } + return self; +} + +@end + +@implementation MTRGenericCluster + +- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue +{ + if (self = [super initWithEndpointID:endpointID queue:queue]) { + _device = device; + } + return self; +} + +@end + @implementation MTRWriteParams - (instancetype)init { diff --git a/src/darwin/Framework/CHIP/MTRCluster_Internal.h b/src/darwin/Framework/CHIP/MTRCluster_Internal.h index fa9ad17586027f..937c110a4ea171 100644 --- a/src/darwin/Framework/CHIP/MTRCluster_Internal.h +++ b/src/darwin/Framework/CHIP/MTRCluster_Internal.h @@ -17,11 +17,11 @@ #import -#import "MTRBaseDevice.h" -#import "MTRBaseDevice_Internal.h" -#import "MTRCluster.h" +#import +#import +#import -#import "zap-generated/MTRBaseClusters.h" +#import "MTRBaseDevice_Internal.h" #include #include @@ -35,6 +35,20 @@ NS_ASSUME_NONNULL_BEGIN - (instancetype)initWithEndpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue; @end +@interface MTRGenericBaseCluster () +- (instancetype)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue; + +@property (nonatomic, strong, readonly) MTRBaseDevice * device; +@end + +@interface MTRGenericCluster () +- (instancetype)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue; +@end + @interface MTRReadParams () /** * Copy state from this MTRReadParams to the ReadPreparaParams. diff --git a/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt b/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt index 8097b929e06e9a..fb303d5589d2be 100644 --- a/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt +++ b/src/darwin/Framework/CHIP/templates/MTRBaseClusters-src.zapt @@ -49,18 +49,6 @@ public: {{#if (isSupported (asUpperCamelCase name preserveAcronyms=true))}} @implementation MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}} -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - {{#zcl_commands}} {{#if (is_str_equal source 'client')}} {{! Takes two arguments: cluster name and command name, plus the ambient state where the command is "this" }} diff --git a/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt b/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt index 52047a1fa2fbc6..edd4f05e4a27b4 100644 --- a/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt +++ b/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt @@ -17,15 +17,7 @@ NS_ASSUME_NONNULL_BEGIN * {{description}} */ {{availability (asUpperCamelCase name preserveAcronyms=true)}} -@interface MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}} : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER {{availability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}}; +@interface MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}} : MTRGenericBaseCluster {{#zcl_commands}} {{#if (is_str_equal source 'client')}} @@ -81,6 +73,18 @@ subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptio - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; +@end + +@interface MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}} (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue {{availability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}}; + @end {{/if}} diff --git a/src/darwin/Framework/CHIP/templates/MTRBaseClusters_Internal.zapt b/src/darwin/Framework/CHIP/templates/MTRBaseClusters_Internal.zapt index 9d40126f3a857d..c5790da1795a81 100644 --- a/src/darwin/Framework/CHIP/templates/MTRBaseClusters_Internal.zapt +++ b/src/darwin/Framework/CHIP/templates/MTRBaseClusters_Internal.zapt @@ -5,12 +5,5 @@ #import "MTRBaseClusters.h" #import "MTRBaseDevice.h" -{{#zcl_clusters}} - -{{#if (isSupported (asUpperCamelCase name preserveAcronyms=true))}} -@interface MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}} () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end -{{/if}} - -{{/zcl_clusters}} +// Nothing here for now, but leaving this file in place in case we need to add +// something. diff --git a/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt b/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt index 4a2c566785ef68..9cefaa1a510b13 100644 --- a/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt +++ b/src/darwin/Framework/CHIP/templates/MTRClusters-src.zapt @@ -1,12 +1,11 @@ {{> header excludeZapComment=true}} #import -#import #import "MTRClusterConstants.h" -#import "MTRClusters_Internal.h" #import "MTRDevice_Internal.h" #import "MTRCluster_Internal.h" +#import "MTRClusters_Internal.h" #import "MTRStructsObjc.h" #import "MTRCommandPayloadsObjc.h" #import "MTRLogging_Internal.h" @@ -31,18 +30,6 @@ using chip::System::Clock::Seconds16; {{#if (isSupported (asUpperCamelCase name preserveAcronyms=true))}} @implementation MTRCluster{{asUpperCamelCase name preserveAcronyms=true}} -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - {{#zcl_commands}} {{! Takes two arguments: cluster name and command name, plus the ambient state where the command is "this" }} {{#*inline "commandImpl"}} diff --git a/src/darwin/Framework/CHIP/templates/MTRClusters.zapt b/src/darwin/Framework/CHIP/templates/MTRClusters.zapt index 17ef4f741dd6f8..c089804986d154 100644 --- a/src/darwin/Framework/CHIP/templates/MTRClusters.zapt +++ b/src/darwin/Framework/CHIP/templates/MTRClusters.zapt @@ -17,27 +17,7 @@ NS_ASSUME_NONNULL_BEGIN * {{description}} */ {{availability (asUpperCamelCase name preserveAcronyms=true)}} -@interface MTRCluster{{asUpperCamelCase name preserveAcronyms=true}} : MTRCluster - -/** -{{#zcl_commands}} -{{#first}} - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. -{{/first}} -{{else}} - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. -{{/zcl_commands}} - */ -- (instancetype _Nullable)initWithDevice:(MTRDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER {{availability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}}; - -/** - * The device this cluster object is associated with. - */ -@property (nonatomic, readonly) MTRDevice * device {{availability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="Future"}}; +@interface MTRCluster{{asUpperCamelCase name preserveAcronyms=true}} : MTRGenericCluster {{#zcl_commands}} {{#if (is_str_equal source 'client')}} @@ -84,6 +64,25 @@ NS_ASSUME_NONNULL_BEGIN @end +@interface MTRCluster{{asUpperCamelCase name preserveAcronyms=true}} (Availability) + +/** +{{#zcl_commands}} +{{#first}} + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. +{{/first}} +{{else}} + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. +{{/zcl_commands}} + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue {{availability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}}; + +@end + {{/if}} {{/zcl_clusters}} diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h index 5b5db7e2a62da0..bbe527dde793ff 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h @@ -28,15 +28,7 @@ NS_ASSUME_NONNULL_BEGIN * Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterIdentify : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterIdentify : MTRGenericBaseCluster /** * Command Identify @@ -106,13 +98,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Groups - * - * Attributes and commands for group configuration and manipulation. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterGroups : MTRCluster +@interface MTRBaseClusterIdentify (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -120,7 +106,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Groups + * + * Attributes and commands for group configuration and manipulation. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterGroups : MTRGenericBaseCluster /** * Command AddGroup @@ -208,13 +204,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Scenes - * - * Attributes and commands for scene configuration and manipulation. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterScenes : MTRCluster +@interface MTRBaseClusterGroups (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -222,7 +212,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Scenes + * + * Attributes and commands for scene configuration and manipulation. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterScenes : MTRGenericBaseCluster /** * Command AddScene @@ -374,13 +374,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster On/Off - * - * Attributes and commands for switching devices between 'On' and 'Off' states. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterOnOff : MTRCluster +@interface MTRBaseClusterScenes (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -388,7 +382,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster On/Off + * + * Attributes and commands for switching devices between 'On' and 'Off' states. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterOnOff : MTRGenericBaseCluster /** * Command Off @@ -512,13 +516,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster On/off Switch Configuration - * - * Attributes and commands for configuring On/Off switching devices. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterOnOffSwitchConfiguration : MTRCluster +@interface MTRBaseClusterOnOff (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -526,7 +524,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster On/off Switch Configuration + * + * Attributes and commands for configuring On/Off switching devices. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterOnOffSwitchConfiguration : MTRGenericBaseCluster - (void)readAttributeSwitchTypeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeSwitchTypeWithParams:(MTRSubscribeParams *)params @@ -583,13 +591,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Level Control - * - * Attributes and commands for controlling devices that can be set to a level between fully 'On' and fully 'Off.' - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterLevelControl : MTRCluster +@interface MTRBaseClusterOnOffSwitchConfiguration (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -597,7 +599,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Level Control + * + * Attributes and commands for controlling devices that can be set to a level between fully 'On' and fully 'Off.' + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterLevelControl : MTRGenericBaseCluster /** * Command MoveToLevel @@ -794,13 +806,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Binary Input (Basic) - * - * An interface for reading the value of a binary measurement and accessing various characteristics of that measurement. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterBinaryInputBasic : MTRCluster +@interface MTRBaseClusterLevelControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -808,7 +814,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Binary Input (Basic) + * + * An interface for reading the value of a binary measurement and accessing various characteristics of that measurement. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterBinaryInputBasic : MTRGenericBaseCluster - (void)readAttributeActiveTextWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeActiveTextWithValue:(NSString * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -917,13 +933,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Pulse Width Modulation - * - * Cluster to control pulse width modulation - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterPulseWidthModulation : MTRCluster +@interface MTRBaseClusterBinaryInputBasic (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -931,7 +941,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Pulse Width Modulation + * + * Cluster to control pulse width modulation + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterPulseWidthModulation : MTRGenericBaseCluster - (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeGeneratedCommandListWithParams:(MTRSubscribeParams *)params @@ -974,13 +994,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Descriptor - * - * The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterDescriptor : MTRCluster +@interface MTRBaseClusterPulseWidthModulation (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -988,7 +1002,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Descriptor + * + * The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterDescriptor : MTRGenericBaseCluster - (void)readAttributeDeviceTypeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeDeviceTypeListWithParams:(MTRSubscribeParams *)params @@ -1061,13 +1085,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Binding - * - * The Binding Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for supporting the binding table. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterBinding : MTRCluster +@interface MTRBaseClusterDescriptor (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -1075,7 +1093,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Binding + * + * The Binding Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for supporting the binding table. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterBinding : MTRGenericBaseCluster - (void)readAttributeBindingWithParams:(MTRReadParams * _Nullable)params completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeBindingWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1126,6 +1154,18 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end +@interface MTRBaseClusterBinding (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + /** * Cluster Access Control * @@ -1135,15 +1175,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) cluster instances. */ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterAccessControl : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterAccessControl : MTRGenericBaseCluster - (void)readAttributeACLWithParams:(MTRReadParams * _Nullable)params completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeACLWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1220,13 +1252,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Actions - * - * This cluster provides a standardized way for a Node (typically a Bridge, but could be any Node) to expose action information. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterActions : MTRCluster +@interface MTRBaseClusterAccessControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -1234,7 +1260,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Actions + * + * This cluster provides a standardized way for a Node (typically a Bridge, but could be any Node) to expose action information. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterActions : MTRGenericBaseCluster /** * Command InstantAction @@ -1368,6 +1404,18 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end +@interface MTRBaseClusterActions (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + /** * Cluster Basic Information * @@ -1376,15 +1424,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) which apply to the whole Node. Also allows setting user device information such as location. */ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRBaseClusterBasicInformation : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterBasicInformation : MTRGenericBaseCluster - (void)readAttributeDataModelRevisionWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeDataModelRevisionWithParams:(MTRSubscribeParams *)params @@ -1559,13 +1599,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster OTA Software Update Provider - * - * Provides an interface for providing OTA software updates - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRBaseClusterOTASoftwareUpdateProvider : MTRCluster +@interface MTRBaseClusterBasicInformation (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -1573,7 +1607,17 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster OTA Software Update Provider + * + * Provides an interface for providing OTA software updates + */ +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRBaseClusterOTASoftwareUpdateProvider : MTRGenericBaseCluster /** * Command QueryImage @@ -1635,13 +1679,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster OTA Software Update Requestor - * - * Provides an interface for downloading and applying OTA software updates - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRBaseClusterOTASoftwareUpdateRequestor : MTRCluster +@interface MTRBaseClusterOTASoftwareUpdateProvider (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -1649,7 +1687,17 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster OTA Software Update Requestor + * + * Provides an interface for downloading and applying OTA software updates + */ +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRBaseClusterOTASoftwareUpdateRequestor : MTRGenericBaseCluster /** * Command AnnounceOTAProvider @@ -1725,6 +1773,18 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end +@interface MTRBaseClusterOTASoftwareUpdateRequestor (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + /** * Cluster Localization Configuration * @@ -1734,15 +1794,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) they can be configured to use a user’s preferred language, units, etc */ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterLocalizationConfiguration : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterLocalizationConfiguration : MTRGenericBaseCluster - (void)readAttributeActiveLocaleWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeActiveLocaleWithValue:(NSString * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1799,6 +1851,18 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end +@interface MTRBaseClusterLocalizationConfiguration (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + /** * Cluster Time Format Localization * @@ -1808,15 +1872,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) user’s preferred format. */ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterTimeFormatLocalization : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterTimeFormatLocalization : MTRGenericBaseCluster - (void)readAttributeHourFormatWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeHourFormatWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1881,6 +1937,18 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end +@interface MTRBaseClusterTimeFormatLocalization (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + /** * Cluster Unit Localization * @@ -1890,15 +1958,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) mechanism by which they can be configured to use a user’s preferred unit. */ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterUnitLocalization : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterUnitLocalization : MTRGenericBaseCluster - (void)readAttributeTemperatureUnitWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeTemperatureUnitWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1949,13 +2009,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Power Source Configuration - * - * This cluster is used to describe the configuration and capabilities of a Device's power system. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterPowerSourceConfiguration : MTRCluster +@interface MTRBaseClusterUnitLocalization (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -1963,7 +2017,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Power Source Configuration + * + * This cluster is used to describe the configuration and capabilities of a Device's power system. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterPowerSourceConfiguration : MTRGenericBaseCluster - (void)readAttributeSourcesWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeSourcesWithParams:(MTRSubscribeParams *)params @@ -2012,13 +2076,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Power Source - * - * This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterPowerSource : MTRCluster +@interface MTRBaseClusterPowerSourceConfiguration (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -2026,7 +2084,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Power Source + * + * This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterPowerSource : MTRGenericBaseCluster - (void)readAttributeStatusWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeStatusWithParams:(MTRSubscribeParams *)params @@ -2261,13 +2329,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster General Commissioning - * - * This cluster is used to manage global aspects of the Commissioning flow. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterGeneralCommissioning : MTRCluster +@interface MTRBaseClusterPowerSource (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -2275,7 +2337,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster General Commissioning + * + * This cluster is used to manage global aspects of the Commissioning flow. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterGeneralCommissioning : MTRGenericBaseCluster /** * Command ArmFailSafe @@ -2371,13 +2443,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Network Commissioning - * - * Functionality to configure, enable, disable network credentials and access on a Matter device. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterNetworkCommissioning : MTRCluster +@interface MTRBaseClusterGeneralCommissioning (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -2385,7 +2451,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Network Commissioning + * + * Functionality to configure, enable, disable network credentials and access on a Matter device. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterNetworkCommissioning : MTRGenericBaseCluster /** * Command ScanNetworks @@ -2533,13 +2609,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Diagnostic Logs - * - * The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterDiagnosticLogs : MTRCluster +@interface MTRBaseClusterNetworkCommissioning (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -2547,7 +2617,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Diagnostic Logs + * + * The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterDiagnosticLogs : MTRGenericBaseCluster /** * Command RetrieveLogsRequest @@ -2597,13 +2677,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster General Diagnostics - * - * The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterGeneralDiagnostics : MTRCluster +@interface MTRBaseClusterDiagnosticLogs (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -2611,7 +2685,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster General Diagnostics + * + * The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterGeneralDiagnostics : MTRGenericBaseCluster /** * Command TestEventTrigger @@ -2723,13 +2807,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Software Diagnostics - * - * The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterSoftwareDiagnostics : MTRCluster +@interface MTRBaseClusterGeneralDiagnostics (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -2737,7 +2815,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Software Diagnostics + * + * The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterSoftwareDiagnostics : MTRGenericBaseCluster /** * Command ResetWatermarks @@ -2813,13 +2901,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Thread Network Diagnostics - * - * The Thread Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterThreadNetworkDiagnostics : MTRCluster +@interface MTRBaseClusterSoftwareDiagnostics (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -2827,7 +2909,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Thread Network Diagnostics + * + * The Thread Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterThreadNetworkDiagnostics : MTRGenericBaseCluster /** * Command ResetCounts @@ -3257,13 +3349,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster WiFi Network Diagnostics - * - * The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterWiFiNetworkDiagnostics : MTRCluster +@interface MTRBaseClusterThreadNetworkDiagnostics (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -3271,7 +3357,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster WiFi Network Diagnostics + * + * The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterWiFiNetworkDiagnostics : MTRGenericBaseCluster /** * Command ResetCounts @@ -3401,13 +3497,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Ethernet Network Diagnostics - * - * The Ethernet Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterEthernetNetworkDiagnostics : MTRCluster +@interface MTRBaseClusterWiFiNetworkDiagnostics (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -3415,7 +3505,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Ethernet Network Diagnostics + * + * The Ethernet Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterEthernetNetworkDiagnostics : MTRGenericBaseCluster /** * Command ResetCounts @@ -3521,13 +3621,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Time Synchronization - * - * Accurate time is required for a number of reasons, including scheduling, display and validating security materials. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterTimeSynchronization : MTRCluster +@interface MTRBaseClusterEthernetNetworkDiagnostics (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -3535,7 +3629,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Time Synchronization + * + * Accurate time is required for a number of reasons, including scheduling, display and validating security materials. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterTimeSynchronization : MTRGenericBaseCluster /** * Command SetUTCTime @@ -3687,6 +3791,18 @@ MTR_PROVISIONALLY_AVAILABLE @end +@interface MTRBaseClusterTimeSynchronization (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + /** * Cluster Bridged Device Basic Information * @@ -3696,15 +3812,7 @@ MTR_PROVISIONALLY_AVAILABLE such as the vendor name, the model name, or user-assigned name. */ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRBaseClusterBridgedDeviceBasicInformation : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterBridgedDeviceBasicInformation : MTRGenericBaseCluster - (void)readAttributeVendorNameWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeVendorNameWithParams:(MTRSubscribeParams *)params @@ -3845,6 +3953,18 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end +@interface MTRBaseClusterBridgedDeviceBasicInformation (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + /** * Cluster Switch * @@ -3853,15 +3973,7 @@ Two types of switch devices are supported: latching switch (e.g. rocker switch) Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterSwitch : MTRCluster - -/** - * For all instance methods (reads, writes, commands) that take a completion, - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@interface MTRBaseClusterSwitch : MTRGenericBaseCluster - (void)readAttributeNumberOfPositionsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeNumberOfPositionsWithParams:(MTRSubscribeParams *)params @@ -3922,13 +4034,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Administrator Commissioning - * - * Commands to trigger a Node to allow a new Administrator to commission it. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterAdministratorCommissioning : MTRCluster +@interface MTRBaseClusterSwitch (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -3936,7 +4042,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Administrator Commissioning + * + * Commands to trigger a Node to allow a new Administrator to commission it. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterAdministratorCommissioning : MTRGenericBaseCluster /** * Command OpenCommissioningWindow @@ -4018,13 +4134,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Operational Credentials - * - * This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterOperationalCredentials : MTRCluster +@interface MTRBaseClusterAdministratorCommissioning (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4032,7 +4142,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Operational Credentials + * + * This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterOperationalCredentials : MTRGenericBaseCluster /** * Command AttestationRequest @@ -4160,13 +4280,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Group Key Management - * - * The Group Key Management Cluster is the mechanism by which group keys are managed. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterGroupKeyManagement : MTRCluster +@interface MTRBaseClusterOperationalCredentials (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4174,7 +4288,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Group Key Management + * + * The Group Key Management Cluster is the mechanism by which group keys are managed. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterGroupKeyManagement : MTRGenericBaseCluster /** * Command KeySetWrite @@ -4270,14 +4394,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Fixed Label - * - * The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only -labels. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterFixedLabel : MTRCluster +@interface MTRBaseClusterGroupKeyManagement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4285,7 +4402,18 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Fixed Label + * + * The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only +labels. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterFixedLabel : MTRGenericBaseCluster - (void)readAttributeLabelListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeLabelListWithParams:(MTRSubscribeParams *)params @@ -4334,13 +4462,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster User Label - * - * The User Label Cluster provides a feature to tag an endpoint with zero or more labels. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterUserLabel : MTRCluster +@interface MTRBaseClusterFixedLabel (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4348,7 +4470,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster User Label + * + * The User Label Cluster provides a feature to tag an endpoint with zero or more labels. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterUserLabel : MTRGenericBaseCluster - (void)readAttributeLabelListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeLabelListWithValue:(NSArray * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -4399,13 +4531,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Boolean State - * - * This cluster provides an interface to a boolean state called StateValue. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterBooleanState : MTRCluster +@interface MTRBaseClusterUserLabel (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4413,7 +4539,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Boolean State + * + * This cluster provides an interface to a boolean state called StateValue. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterBooleanState : MTRGenericBaseCluster - (void)readAttributeStateValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeStateValueWithParams:(MTRSubscribeParams *)params @@ -4462,13 +4598,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster ICD Management - * - * Allows servers to ensure that listed clients are notified when a server is available for communication. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterICDManagement : MTRCluster +@interface MTRBaseClusterBooleanState (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4476,7 +4606,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster ICD Management + * + * Allows servers to ensure that listed clients are notified when a server is available for communication. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterICDManagement : MTRGenericBaseCluster /** * Command RegisterClient @@ -4588,13 +4728,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Mode Select - * - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterModeSelect : MTRCluster +@interface MTRBaseClusterICDManagement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4602,7 +4736,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Mode Select + * + * Attributes and commands for selecting a mode from a list of supported options. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterModeSelect : MTRGenericBaseCluster /** * Command ChangeToMode @@ -4692,13 +4836,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Laundry Washer Mode - * - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterLaundryWasherMode : MTRCluster +@interface MTRBaseClusterModeSelect (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4706,7 +4844,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Laundry Washer Mode + * + * Attributes and commands for selecting a mode from a list of supported options. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterLaundryWasherMode : MTRGenericBaseCluster /** * Command ChangeToMode @@ -4785,13 +4933,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Refrigerator And Temperature Controlled Cabinet Mode - * - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterRefrigeratorAndTemperatureControlledCabinetMode : MTRCluster +@interface MTRBaseClusterLaundryWasherMode (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4799,7 +4941,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Refrigerator And Temperature Controlled Cabinet Mode + * + * Attributes and commands for selecting a mode from a list of supported options. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterRefrigeratorAndTemperatureControlledCabinetMode : MTRGenericBaseCluster /** * Command ChangeToMode @@ -4878,13 +5030,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Laundry Washer Controls - * - * This cluster supports remotely monitoring and controling the different typs of functionality available to a washing device, such as a washing machine. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterLaundryWasherControls : MTRCluster +@interface MTRBaseClusterRefrigeratorAndTemperatureControlledCabinetMode (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4892,7 +5038,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Laundry Washer Controls + * + * This cluster supports remotely monitoring and controling the different typs of functionality available to a washing device, such as a washing machine. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterLaundryWasherControls : MTRGenericBaseCluster - (void)readAttributeSpinSpeedsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeSpinSpeedsWithParams:(MTRSubscribeParams *)params @@ -4963,13 +5119,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster RVC Run Mode - * - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterRVCRunMode : MTRCluster +@interface MTRBaseClusterLaundryWasherControls (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -4977,7 +5127,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster RVC Run Mode + * + * Attributes and commands for selecting a mode from a list of supported options. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterRVCRunMode : MTRGenericBaseCluster /** * Command ChangeToMode @@ -5048,13 +5208,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster RVC Clean Mode - * - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterRVCCleanMode : MTRCluster +@interface MTRBaseClusterRVCRunMode (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5062,7 +5216,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster RVC Clean Mode + * + * Attributes and commands for selecting a mode from a list of supported options. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterRVCCleanMode : MTRGenericBaseCluster /** * Command ChangeToMode @@ -5133,13 +5297,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Temperature Control - * - * Attributes and commands for configuring the temperature control, and reporting temperature. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterTemperatureControl : MTRCluster +@interface MTRBaseClusterRVCCleanMode (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5147,7 +5305,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Temperature Control + * + * Attributes and commands for configuring the temperature control, and reporting temperature. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterTemperatureControl : MTRGenericBaseCluster /** * Command SetTemperature @@ -5233,13 +5401,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Refrigerator Alarm - * - * Attributes and commands for configuring the Refrigerator alarm. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterRefrigeratorAlarm : MTRCluster +@interface MTRBaseClusterTemperatureControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5247,7 +5409,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Refrigerator Alarm + * + * Attributes and commands for configuring the Refrigerator alarm. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterRefrigeratorAlarm : MTRGenericBaseCluster - (void)readAttributeMaskWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMaskWithParams:(MTRSubscribeParams *)params @@ -5308,13 +5480,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Dishwasher Mode - * - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterDishwasherMode : MTRCluster +@interface MTRBaseClusterRefrigeratorAlarm (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5322,7 +5488,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Dishwasher Mode + * + * Attributes and commands for selecting a mode from a list of supported options. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterDishwasherMode : MTRGenericBaseCluster /** * Command ChangeToMode @@ -5401,13 +5577,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Air Quality - * - * Attributes for reporting air quality classification - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterAirQuality : MTRCluster +@interface MTRBaseClusterDishwasherMode (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5415,7 +5585,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Air Quality + * + * Attributes for reporting air quality classification + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterAirQuality : MTRGenericBaseCluster - (void)readAttributeAirQualityWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeAirQualityWithParams:(MTRSubscribeParams *)params @@ -5464,13 +5644,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Smoke CO Alarm - * - * This cluster provides an interface for observing and managing the state of smoke and CO alarms. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterSmokeCOAlarm : MTRCluster +@interface MTRBaseClusterAirQuality (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5478,7 +5652,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Smoke CO Alarm + * + * This cluster provides an interface for observing and managing the state of smoke and CO alarms. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterSmokeCOAlarm : MTRGenericBaseCluster /** * Command SelfTestRequest @@ -5610,13 +5794,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Dishwasher Alarm - * - * Attributes and commands for configuring the Dishwasher alarm. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterDishwasherAlarm : MTRCluster +@interface MTRBaseClusterSmokeCOAlarm (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5624,7 +5802,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Dishwasher Alarm + * + * Attributes and commands for configuring the Dishwasher alarm. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterDishwasherAlarm : MTRGenericBaseCluster /** * Command Reset @@ -5704,13 +5892,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Microwave Oven Mode - * - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterMicrowaveOvenMode : MTRCluster +@interface MTRBaseClusterDishwasherAlarm (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5718,7 +5900,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Microwave Oven Mode + * + * Attributes and commands for selecting a mode from a list of supported options. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterMicrowaveOvenMode : MTRGenericBaseCluster - (void)readAttributeSupportedModesWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeSupportedModesWithParams:(MTRSubscribeParams *)params @@ -5773,13 +5965,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Microwave Oven Control - * - * Attributes and commands for configuring the microwave oven control, and reporting cooking stats. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterMicrowaveOvenControl : MTRCluster +@interface MTRBaseClusterMicrowaveOvenMode (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5787,7 +5973,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Microwave Oven Control + * + * Attributes and commands for configuring the microwave oven control, and reporting cooking stats. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterMicrowaveOvenControl : MTRGenericBaseCluster /** * Command SetCookingParameters @@ -5873,13 +6069,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Operational State - * - * This cluster supports remotely monitoring and, where supported, changing the operational state of any device where a state machine is a part of the operation. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterOperationalState : MTRCluster +@interface MTRBaseClusterMicrowaveOvenControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -5887,7 +6077,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Operational State + * + * This cluster supports remotely monitoring and, where supported, changing the operational state of any device where a state machine is a part of the operation. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterOperationalState : MTRGenericBaseCluster /** * Command Pause @@ -5999,13 +6199,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster RVC Operational State - * - * This cluster supports remotely monitoring and, where supported, changing the operational state of a Robotic Vacuum. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterRVCOperationalState : MTRCluster +@interface MTRBaseClusterOperationalState (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -6013,7 +6207,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster RVC Operational State + * + * This cluster supports remotely monitoring and, where supported, changing the operational state of a Robotic Vacuum. + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterRVCOperationalState : MTRGenericBaseCluster /** * Command Pause @@ -6125,13 +6329,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster HEPA Filter Monitoring - * - * Attributes and commands for monitoring HEPA filters in a device - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterHEPAFilterMonitoring : MTRCluster +@interface MTRBaseClusterRVCOperationalState (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -6139,7 +6337,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster HEPA Filter Monitoring + * + * Attributes and commands for monitoring HEPA filters in a device + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterHEPAFilterMonitoring : MTRGenericBaseCluster /** * Command ResetCondition @@ -6229,13 +6437,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Activated Carbon Filter Monitoring - * - * Attributes and commands for monitoring activated carbon filters in a device - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterActivatedCarbonFilterMonitoring : MTRCluster +@interface MTRBaseClusterHEPAFilterMonitoring (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -6243,7 +6445,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Activated Carbon Filter Monitoring + * + * Attributes and commands for monitoring activated carbon filters in a device + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterActivatedCarbonFilterMonitoring : MTRGenericBaseCluster /** * Command ResetCondition @@ -6333,13 +6545,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Door Lock - * - * An interface to a generic way to secure a door - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterDoorLock : MTRCluster +@interface MTRBaseClusterActivatedCarbonFilterMonitoring (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -6347,7 +6553,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Door Lock + * + * An interface to a generic way to secure a door + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterDoorLock : MTRGenericBaseCluster /** * Command LockDoor @@ -6757,13 +6973,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Window Covering - * - * Provides an interface for controlling and adjusting automatic window coverings. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterWindowCovering : MTRCluster +@interface MTRBaseClusterDoorLock (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -6771,7 +6981,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Window Covering + * + * Provides an interface for controlling and adjusting automatic window coverings. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterWindowCovering : MTRGenericBaseCluster /** * Command UpOrOpen @@ -6997,13 +7217,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Barrier Control - * - * This cluster provides control of a barrier (garage door). - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterBarrierControl : MTRCluster +@interface MTRBaseClusterWindowCovering (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -7011,7 +7225,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Barrier Control + * + * This cluster provides control of a barrier (garage door). + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterBarrierControl : MTRGenericBaseCluster /** * Command BarrierControlGoToPercent @@ -7141,13 +7365,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Pump Configuration and Control - * - * An interface for configuring and controlling pumps. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterPumpConfigurationAndControl : MTRCluster +@interface MTRBaseClusterBarrierControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -7155,7 +7373,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Pump Configuration and Control + * + * An interface for configuring and controlling pumps. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterPumpConfigurationAndControl : MTRGenericBaseCluster - (void)readAttributeMaxPressureWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeMaxPressureWithParams:(MTRSubscribeParams *)params @@ -7344,13 +7572,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Thermostat - * - * An interface for configuring and controlling the functionality of a thermostat. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterThermostat : MTRCluster +@interface MTRBaseClusterPumpConfigurationAndControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -7358,7 +7580,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Thermostat + * + * An interface for configuring and controlling the functionality of a thermostat. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterThermostat : MTRGenericBaseCluster /** * Command SetpointRaiseLower @@ -7776,13 +8008,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Fan Control - * - * An interface for controlling a fan in a heating/cooling system. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterFanControl : MTRCluster +@interface MTRBaseClusterThermostat (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -7790,7 +8016,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Fan Control + * + * An interface for controlling a fan in a heating/cooling system. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterFanControl : MTRGenericBaseCluster /** * Command Step @@ -7926,21 +8162,25 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Thermostat User Interface Configuration - * - * An interface for configuring the user interface of a thermostat (which may be remote from the thermostat). - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterThermostatUserInterfaceConfiguration : MTRCluster +@interface MTRBaseClusterFanControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, * the completion will be called on the provided queue. */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Thermostat User Interface Configuration + * + * An interface for configuring the user interface of a thermostat (which may be remote from the thermostat). + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterThermostatUserInterfaceConfiguration : MTRGenericBaseCluster - (void)readAttributeTemperatureDisplayModeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeTemperatureDisplayModeWithValue:(NSNumber * _Nonnull)value completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -8007,13 +8247,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Color Control - * - * Attributes and commands for controlling the color properties of a color-capable light. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterColorControl : MTRCluster +@interface MTRBaseClusterThermostatUserInterfaceConfiguration (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -8021,7 +8255,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Color Control + * + * Attributes and commands for controlling the color properties of a color-capable light. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterColorControl : MTRGenericBaseCluster /** * Command MoveToHue @@ -8517,13 +8761,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Ballast Configuration - * - * Attributes and commands for configuring a lighting ballast. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterBallastConfiguration : MTRCluster +@interface MTRBaseClusterColorControl (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -8531,7 +8769,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Ballast Configuration + * + * Attributes and commands for configuring a lighting ballast. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterBallastConfiguration : MTRGenericBaseCluster - (void)readAttributePhysicalMinLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributePhysicalMinLevelWithParams:(MTRSubscribeParams *)params @@ -8678,13 +8926,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Illuminance Measurement - * - * Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterIlluminanceMeasurement : MTRCluster +@interface MTRBaseClusterBallastConfiguration (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -8692,7 +8934,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Illuminance Measurement + * + * Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterIlluminanceMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -8765,13 +9017,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Temperature Measurement - * - * Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterTemperatureMeasurement : MTRCluster +@interface MTRBaseClusterIlluminanceMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -8779,7 +9025,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Temperature Measurement + * + * Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterTemperatureMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -8846,13 +9102,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Pressure Measurement - * - * Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterPressureMeasurement : MTRCluster +@interface MTRBaseClusterTemperatureMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -8860,7 +9110,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Pressure Measurement + * + * Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterPressureMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -8957,13 +9217,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Flow Measurement - * - * Attributes and commands for configuring the measurement of flow, and reporting flow measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterFlowMeasurement : MTRCluster +@interface MTRBaseClusterPressureMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -8971,7 +9225,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Flow Measurement + * + * Attributes and commands for configuring the measurement of flow, and reporting flow measurements. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterFlowMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -9038,13 +9302,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Relative Humidity Measurement - * - * Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterRelativeHumidityMeasurement : MTRCluster +@interface MTRBaseClusterFlowMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9052,7 +9310,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Relative Humidity Measurement + * + * Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterRelativeHumidityMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -9119,13 +9387,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Occupancy Sensing - * - * Attributes and commands for configuring occupancy sensing, and reporting occupancy status. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterOccupancySensing : MTRCluster +@interface MTRBaseClusterRelativeHumidityMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9133,7 +9395,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Occupancy Sensing + * + * Attributes and commands for configuring occupancy sensing, and reporting occupancy status. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterOccupancySensing : MTRGenericBaseCluster - (void)readAttributeOccupancyWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeOccupancyWithParams:(MTRSubscribeParams *)params @@ -9266,13 +9538,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Carbon Monoxide Concentration Measurement - * - * Attributes for reporting carbon monoxide concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterCarbonMonoxideConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterOccupancySensing (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9280,7 +9546,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Carbon Monoxide Concentration Measurement + * + * Attributes for reporting carbon monoxide concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterCarbonMonoxideConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -9389,13 +9665,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Carbon Dioxide Concentration Measurement - * - * Attributes for reporting carbon dioxide concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterCarbonDioxideConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterCarbonMonoxideConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9403,7 +9673,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Carbon Dioxide Concentration Measurement + * + * Attributes for reporting carbon dioxide concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterCarbonDioxideConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -9512,13 +9792,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Nitrogen Dioxide Concentration Measurement - * - * Attributes for reporting nitrogen dioxide concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterNitrogenDioxideConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterCarbonDioxideConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9526,7 +9800,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Nitrogen Dioxide Concentration Measurement + * + * Attributes for reporting nitrogen dioxide concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterNitrogenDioxideConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -9635,13 +9919,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Ozone Concentration Measurement - * - * Attributes for reporting ozone concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterOzoneConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterNitrogenDioxideConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9649,7 +9927,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Ozone Concentration Measurement + * + * Attributes for reporting ozone concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterOzoneConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -9758,13 +10046,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster PM2.5 Concentration Measurement - * - * Attributes for reporting PM2.5 concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterPM25ConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterOzoneConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9772,7 +10054,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster PM2.5 Concentration Measurement + * + * Attributes for reporting PM2.5 concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterPM25ConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -9881,13 +10173,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Formaldehyde Concentration Measurement - * - * Attributes for reporting formaldehyde concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterFormaldehydeConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterPM25ConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -9895,7 +10181,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Formaldehyde Concentration Measurement + * + * Attributes for reporting formaldehyde concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterFormaldehydeConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -10004,13 +10300,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster PM1 Concentration Measurement - * - * Attributes for reporting PM1 concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterPM1ConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterFormaldehydeConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10018,7 +10308,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster PM1 Concentration Measurement + * + * Attributes for reporting PM1 concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterPM1ConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -10127,13 +10427,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster PM10 Concentration Measurement - * - * Attributes for reporting PM10 concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterPM10ConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterPM1ConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10141,7 +10435,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster PM10 Concentration Measurement + * + * Attributes for reporting PM10 concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterPM10ConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -10250,21 +10554,25 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Total Volatile Organic Compounds Concentration Measurement - * - * Attributes for reporting total volatile organic compounds concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterTotalVolatileOrganicCompoundsConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterPM10ConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, * the completion will be called on the provided queue. */ -- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Total Volatile Organic Compounds Concentration Measurement + * + * Attributes for reporting total volatile organic compounds concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterTotalVolatileOrganicCompoundsConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -10373,13 +10681,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Radon Concentration Measurement - * - * Attributes for reporting radon concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterRadonConcentrationMeasurement : MTRCluster +@interface MTRBaseClusterTotalVolatileOrganicCompoundsConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10387,7 +10689,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Radon Concentration Measurement + * + * Attributes for reporting radon concentration measurements + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterRadonConcentrationMeasurement : MTRGenericBaseCluster - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)subscribeAttributeMeasuredValueWithParams:(MTRSubscribeParams *)params @@ -10496,13 +10808,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Wake on LAN - * - * This cluster provides an interface for managing low power mode on a device that supports the Wake On LAN protocol. - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRBaseClusterWakeOnLAN : MTRCluster +@interface MTRBaseClusterRadonConcentrationMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10510,7 +10816,17 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + +/** + * Cluster Wake on LAN + * + * This cluster provides an interface for managing low power mode on a device that supports the Wake On LAN protocol. + */ +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRBaseClusterWakeOnLAN : MTRGenericBaseCluster - (void)readAttributeMACAddressWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeMACAddressWithParams:(MTRSubscribeParams *)params @@ -10559,13 +10875,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster Channel - * - * This cluster provides an interface for controlling the current Channel on a device. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterChannel : MTRCluster +@interface MTRBaseClusterWakeOnLAN (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10573,7 +10883,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Channel + * + * This cluster provides an interface for controlling the current Channel on a device. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterChannel : MTRGenericBaseCluster /** * Command ChangeChannel @@ -10653,13 +10973,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Target Navigator - * - * This cluster provides an interface for UX navigation within a set of targets on a device or endpoint. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterTargetNavigator : MTRCluster +@interface MTRBaseClusterChannel (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10667,7 +10981,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Target Navigator + * + * This cluster provides an interface for UX navigation within a set of targets on a device or endpoint. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterTargetNavigator : MTRGenericBaseCluster /** * Command NavigateTarget @@ -10729,13 +11053,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Media Playback - * - * This cluster provides an interface for controlling Media Playback (PLAY, PAUSE, etc) on a media device such as a TV or Speaker. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterMediaPlayback : MTRCluster +@interface MTRBaseClusterTargetNavigator (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10743,7 +11061,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Media Playback + * + * This cluster provides an interface for controlling Media Playback (PLAY, PAUSE, etc) on a media device such as a TV or Speaker. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterMediaPlayback : MTRGenericBaseCluster /** * Command Play @@ -10911,13 +11239,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Media Input - * - * This cluster provides an interface for controlling the Input Selector on a media device such as a TV. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterMediaInput : MTRCluster +@interface MTRBaseClusterMediaPlayback (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -10925,7 +11247,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Media Input + * + * This cluster provides an interface for controlling the Input Selector on a media device such as a TV. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterMediaInput : MTRGenericBaseCluster /** * Command SelectInput @@ -11009,13 +11341,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Low Power - * - * This cluster provides an interface for managing low power mode on a device. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterLowPower : MTRCluster +@interface MTRBaseClusterMediaInput (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11023,7 +11349,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Low Power + * + * This cluster provides an interface for managing low power mode on a device. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterLowPower : MTRGenericBaseCluster /** * Command Sleep @@ -11075,13 +11411,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Keypad Input - * - * This cluster provides an interface for controlling a device like a TV using action commands such as UP, DOWN, and SELECT. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterKeypadInput : MTRCluster +@interface MTRBaseClusterLowPower (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11089,7 +11419,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Keypad Input + * + * This cluster provides an interface for controlling a device like a TV using action commands such as UP, DOWN, and SELECT. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterKeypadInput : MTRGenericBaseCluster /** * Command SendKey @@ -11139,13 +11479,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Content Launcher - * - * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterContentLauncher : MTRCluster +@interface MTRBaseClusterKeypadInput (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11153,7 +11487,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Content Launcher + * + * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterContentLauncher : MTRGenericBaseCluster /** * Command LaunchContent @@ -11223,13 +11567,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Audio Output - * - * This cluster provides an interface for controlling the Output on a media device such as a TV. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterAudioOutput : MTRCluster +@interface MTRBaseClusterContentLauncher (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11237,7 +11575,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Audio Output + * + * This cluster provides an interface for controlling the Output on a media device such as a TV. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterAudioOutput : MTRGenericBaseCluster /** * Command SelectOutput @@ -11305,13 +11653,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Application Launcher - * - * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterApplicationLauncher : MTRCluster +@interface MTRBaseClusterAudioOutput (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11319,7 +11661,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Application Launcher + * + * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterApplicationLauncher : MTRGenericBaseCluster /** * Command LaunchApp @@ -11395,13 +11747,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Application Basic - * - * This cluster provides information about an application running on a TV or media player device which is represented as an endpoint. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterApplicationBasic : MTRCluster +@interface MTRBaseClusterApplicationLauncher (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11409,7 +11755,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Application Basic + * + * This cluster provides information about an application running on a TV or media player device which is represented as an endpoint. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterApplicationBasic : MTRGenericBaseCluster - (void)readAttributeVendorNameWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)subscribeAttributeVendorNameWithParams:(MTRSubscribeParams *)params @@ -11500,13 +11856,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Account Login - * - * This cluster provides commands that facilitate user account login on a Content App or a node. For example, a Content App running on a Video Player device, which is represented as an endpoint (see [TV Architecture]), can use this cluster to help make the user account on the Content App match the user account on the Client. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterAccountLogin : MTRCluster +@interface MTRBaseClusterApplicationBasic (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11514,7 +11864,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Account Login + * + * This cluster provides commands that facilitate user account login on a Content App or a node. For example, a Content App running on a Video Player device, which is represented as an endpoint (see [TV Architecture]), can use this cluster to help make the user account on the Content App match the user account on the Client. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterAccountLogin : MTRGenericBaseCluster /** * Command GetSetupPIN @@ -11578,13 +11938,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Electrical Measurement - * - * Attributes related to the electrical properties of a device. This cluster is used by power outlets and other devices that need to provide instantaneous data as opposed to metrology data which should be retrieved from the metering cluster.. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRBaseClusterElectricalMeasurement : MTRCluster +@interface MTRBaseClusterAccountLogin (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -11592,7 +11946,17 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Electrical Measurement + * + * Attributes related to the electrical properties of a device. This cluster is used by power outlets and other devices that need to provide instantaneous data as opposed to metrology data which should be retrieved from the metering cluster.. + */ +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRBaseClusterElectricalMeasurement : MTRGenericBaseCluster /** * Command GetProfileInfoCommand @@ -12434,13 +12798,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Unit Testing - * - * The Test Cluster is meant to validate the generated code - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRBaseClusterUnitTesting : MTRCluster +@interface MTRBaseClusterElectricalMeasurement (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -12448,7 +12806,17 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Unit Testing + * + * The Test Cluster is meant to validate the generated code + */ +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRBaseClusterUnitTesting : MTRGenericBaseCluster /** * Command Test @@ -13311,13 +13679,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster Sample MEI - * - * The Sample MEI cluster showcases a cluster manufacturer extensions - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRBaseClusterSampleMEI : MTRCluster +@interface MTRBaseClusterUnitTesting (Availability) /** * For all instance methods (reads, writes, commands) that take a completion, @@ -13325,7 +13687,17 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end + +/** + * Cluster Sample MEI + * + * The Sample MEI cluster showcases a cluster manufacturer extensions + */ +MTR_PROVISIONALLY_AVAILABLE +@interface MTRBaseClusterSampleMEI : MTRGenericBaseCluster /** * Command Ping @@ -13391,6 +13763,18 @@ MTR_PROVISIONALLY_AVAILABLE @end +@interface MTRBaseClusterSampleMEI (Availability) + +/** + * For all instance methods (reads, writes, commands) that take a completion, + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + MTR_DEPRECATED("Please use MTRBaseClusterBasicInformation", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRBaseClusterBasic : MTRBaseClusterBasicInformation @end diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm index 390b5042da3c6b..f30f7792eb7f72 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.mm @@ -62,18 +62,6 @@ static void OnSuccessFn(void * context) // NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks): Linter is unable to locate the delete on these objects. @implementation MTRBaseClusterIdentify -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)identifyWithParams:(MTRIdentifyClusterIdentifyParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -718,18 +706,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterGroups -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)addGroupWithParams:(MTRGroupsClusterAddGroupParams *)params completion:(void (^)(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -1403,18 +1379,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterScenes -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)addSceneWithParams:(MTRScenesClusterAddSceneParams *)params completion:(void (^)(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -2638,18 +2602,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterOnOff -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)offWithCompletion:(MTRStatusCompletion)completion { [self offWithParams:nil completion:completion]; @@ -3732,18 +3684,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterOnOffSwitchConfiguration -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeSwitchTypeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = OnOffSwitchConfiguration::Attributes::SwitchType::TypeInfo; @@ -4328,18 +4268,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterLevelControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)moveToLevelWithParams:(MTRLevelControlClusterMoveToLevelParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -6280,18 +6208,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterBinaryInputBasic -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeActiveTextWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = BinaryInputBasic::Attributes::ActiveText::TypeInfo; @@ -7553,18 +7469,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterPulseWidthModulation -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeGeneratedCommandListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = PulseWidthModulation::Attributes::GeneratedCommandList::TypeInfo; @@ -7785,18 +7689,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterDescriptor -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeDeviceTypeListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = Descriptor::Attributes::DeviceTypeList::TypeInfo; @@ -8523,18 +8415,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterBinding -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeBindingWithParams:(MTRReadParams * _Nullable)params completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = Binding::Attributes::Binding::TypeInfo; @@ -9085,18 +8965,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterAccessControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeACLWithParams:(MTRReadParams * _Nullable)params completion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = AccessControl::Attributes::Acl::TypeInfo; @@ -10046,18 +9914,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterActions -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)instantActionWithParams:(MTRActionsClusterInstantActionParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -11027,18 +10883,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterBasicInformation -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)mfgSpecificPingWithCompletion:(MTRStatusCompletion)completion { [self mfgSpecificPingWithParams:nil completion:completion]; @@ -13051,18 +12895,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterOTASoftwareUpdateProvider -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)queryImageWithParams:(MTROTASoftwareUpdateProviderClusterQueryImageParams *)params completion:(void (^)(MTROTASoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -13567,18 +13399,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterOTASoftwareUpdateRequestor -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)announceOTAProviderWithParams:(MTROTASoftwareUpdateRequestorClusterAnnounceOTAProviderParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -14362,18 +14182,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterLocalizationConfiguration -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeActiveLocaleWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = LocalizationConfiguration::Attributes::ActiveLocale::TypeInfo; @@ -14958,18 +14766,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterTimeFormatLocalization -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeHourFormatWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = TimeFormatLocalization::Attributes::HourFormat::TypeInfo; @@ -15661,18 +15457,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterUnitLocalization -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeTemperatureUnitWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = UnitLocalization::Attributes::TemperatureUnit::TypeInfo; @@ -16186,18 +15970,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterPowerSourceConfiguration -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeSourcesWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = PowerSourceConfiguration::Attributes::Sources::TypeInfo; @@ -16675,18 +16447,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterPowerSource -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeStatusWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = PowerSource::Attributes::Status::TypeInfo; @@ -19330,18 +19090,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterGeneralCommissioning -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)armFailSafeWithParams:(MTRGeneralCommissioningClusterArmFailSafeParams *)params completion:(void (^)(MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -20245,18 +19993,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterNetworkCommissioning -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)scanNetworksWithParams:(MTRNetworkCommissioningClusterScanNetworksParams * _Nullable)params completion:(void (^)(MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -21569,18 +21305,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterDiagnosticLogs -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)retrieveLogsRequestWithParams:(MTRDiagnosticLogsClusterRetrieveLogsRequestParams *)params completion:(void (^)(MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -22021,18 +21745,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterGeneralDiagnostics -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)testEventTriggerWithParams:(MTRGeneralDiagnosticsClusterTestEventTriggerParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -23137,18 +22849,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterSoftwareDiagnostics -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetWatermarksWithCompletion:(MTRStatusCompletion)completion { [self resetWatermarksWithParams:nil completion:completion]; @@ -23878,18 +23578,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterThreadNetworkDiagnostics -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetCountsWithCompletion:(MTRStatusCompletion)completion { [self resetCountsWithParams:nil completion:completion]; @@ -28808,18 +28496,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterWiFiNetworkDiagnostics -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetCountsWithCompletion:(MTRStatusCompletion)completion { [self resetCountsWithParams:nil completion:completion]; @@ -30188,18 +29864,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterEthernetNetworkDiagnostics -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetCountsWithCompletion:(MTRStatusCompletion)completion { [self resetCountsWithParams:nil completion:completion]; @@ -31284,18 +30948,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterTimeSynchronization -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setUTCTimeWithParams:(MTRTimeSynchronizationClusterSetUTCTimeParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -32105,18 +31757,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterBridgedDeviceBasicInformation -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeVendorNameWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = BridgedDeviceBasicInformation::Attributes::VendorName::TypeInfo; @@ -33663,18 +33303,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterSwitch -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeNumberOfPositionsWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = Switch::Attributes::NumberOfPositions::TypeInfo; @@ -34294,18 +33922,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterAdministratorCommissioning -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)openCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenCommissioningWindowParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -35031,18 +34647,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterOperationalCredentials -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)attestationRequestWithParams:(MTROperationalCredentialsClusterAttestationRequestParams *)params completion:(void (^)(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -36130,18 +35734,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterGroupKeyManagement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)keySetWriteWithParams:(MTRGroupKeyManagementClusterKeySetWriteParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -37019,18 +36611,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterFixedLabel -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeLabelListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = FixedLabel::Attributes::LabelList::TypeInfo; @@ -37508,18 +37088,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterUserLabel -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeLabelListWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = UserLabel::Attributes::LabelList::TypeInfo; @@ -38055,18 +37623,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterBooleanState -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeStateValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = BooleanState::Attributes::StateValue::TypeInfo; @@ -38544,18 +38100,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterICDManagement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)registerClientWithParams:(MTRICDManagementClusterRegisterClientParams *)params completion:(void (^)(MTRICDManagementClusterRegisterClientResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -39141,18 +38685,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterModeSelect -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRModeSelectClusterChangeToModeParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -40098,18 +39630,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterLaundryWasherMode -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRLaundryWasherModeClusterChangeToModeParams *)params completion:(void (^)(MTRLaundryWasherModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -40565,18 +40085,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterRefrigeratorAndTemperatureControlledCabinetMode -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeParams *)params completion:(void (^)(MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -41032,18 +40540,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterLaundryWasherControls -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeSpinSpeedsWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = LaundryWasherControls::Attributes::SpinSpeeds::TypeInfo; @@ -41469,18 +40965,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterRVCRunMode -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRRVCRunModeClusterChangeToModeParams *)params completion:(void (^)(MTRRVCRunModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -41867,18 +41351,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterRVCCleanMode -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRRVCCleanModeClusterChangeToModeParams *)params completion:(void (^)(MTRRVCCleanModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -42265,18 +41737,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterTemperatureControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setTemperatureWithParams:(MTRTemperatureControlClusterSetTemperatureParams * _Nullable)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -42738,18 +42198,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterRefrigeratorAlarm -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMaskWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = RefrigeratorAlarm::Attributes::Mask::TypeInfo; @@ -43078,18 +42526,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterDishwasherMode -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRDishwasherModeClusterChangeToModeParams *)params completion:(void (^)(MTRDishwasherModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -43545,18 +42981,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterAirQuality -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeAirQualityWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = AirQuality::Attributes::AirQuality::TypeInfo; @@ -43813,18 +43237,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterSmokeCOAlarm -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)selfTestRequestWithCompletion:(MTRStatusCompletion)completion { [self selfTestRequestWithParams:nil completion:completion]; @@ -44570,18 +43982,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterDishwasherAlarm -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetWithParams:(MTRDishwasherAlarmClusterResetParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -44995,18 +44395,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterMicrowaveOvenMode -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeSupportedModesWithCompletion:(void (^)(NSArray * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = MicrowaveOvenMode::Attributes::SupportedModes::TypeInfo; @@ -45299,18 +44687,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterMicrowaveOvenControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setCookingParametersWithParams:(MTRMicrowaveOvenControlClusterSetCookingParametersParams * _Nullable)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -45760,18 +45136,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterOperationalState -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)pauseWithCompletion:(void (^)(MTROperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion { [self pauseWithParams:nil completion:completion]; @@ -46321,18 +45685,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterRVCOperationalState -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)pauseWithCompletion:(void (^)(MTRRVCOperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion { [self pauseWithParams:nil completion:completion]; @@ -46882,18 +46234,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterHEPAFilterMonitoring -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetConditionWithCompletion:(MTRStatusCompletion)completion { [self resetConditionWithParams:nil completion:completion]; @@ -47392,18 +46732,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterActivatedCarbonFilterMonitoring -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetConditionWithCompletion:(MTRStatusCompletion)completion { [self resetConditionWithParams:nil completion:completion]; @@ -47902,18 +47230,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterDoorLock -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)lockDoorWithParams:(MTRDoorLockClusterLockDoorParams * _Nullable)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -52114,18 +51430,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterWindowCovering -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)upOrOpenWithCompletion:(MTRStatusCompletion)completion { [self upOrOpenWithParams:nil completion:completion]; @@ -54359,18 +53663,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterBarrierControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)barrierControlGoToPercentWithParams:(MTRBarrierControlClusterBarrierControlGoToPercentParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -55771,18 +55063,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterPumpConfigurationAndControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMaxPressureWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = PumpConfigurationAndControl::Attributes::MaxPressure::TypeInfo; @@ -57976,18 +57256,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterThermostat -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setpointRaiseLowerWithParams:(MTRThermostatClusterSetpointRaiseLowerParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -62989,18 +62257,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterFanControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)stepWithParams:(MTRFanControlClusterStepParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -64503,18 +63759,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterThermostatUserInterfaceConfiguration -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeTemperatureDisplayModeWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = ThermostatUserInterfaceConfiguration::Attributes::TemperatureDisplayMode::TypeInfo; @@ -65242,18 +64486,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterColorControl -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)moveToHueWithParams:(MTRColorControlClusterMoveToHueParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -70393,18 +69625,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterBallastConfiguration -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributePhysicalMinLevelWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = BallastConfiguration::Attributes::PhysicalMinLevel::TypeInfo; @@ -72190,18 +71410,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterIlluminanceMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = IlluminanceMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -72963,18 +72171,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterTemperatureMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = TemperatureMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -73665,18 +72861,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterPressureMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = PressureMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -74722,18 +73906,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterFlowMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = FlowMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -75424,18 +74596,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterRelativeHumidityMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = RelativeHumidityMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -76126,18 +75286,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterOccupancySensing -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeOccupancyWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = OccupancySensing::Attributes::Occupancy::TypeInfo; @@ -77720,18 +76868,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterCarbonMonoxideConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = CarbonMonoxideConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -78348,18 +77484,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterCarbonDioxideConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = CarbonDioxideConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -78976,18 +78100,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterNitrogenDioxideConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = NitrogenDioxideConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -79604,18 +78716,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterOzoneConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = OzoneConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -80232,18 +79332,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterPM25ConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = Pm25ConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -80860,18 +79948,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterFormaldehydeConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = FormaldehydeConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -81488,18 +80564,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterPM1ConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = Pm1ConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -82116,18 +81180,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterPM10ConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = Pm10ConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -82744,18 +81796,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterTotalVolatileOrganicCompoundsConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -83372,18 +82412,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterRadonConcentrationMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMeasuredValueWithCompletion:(void (^)(NSNumber * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = RadonConcentrationMeasurement::Attributes::MeasuredValue::TypeInfo; @@ -84000,18 +83028,6 @@ + (void)readAttributeClusterRevisionWithClusterStateCache:(MTRClusterStateCacheC @implementation MTRBaseClusterWakeOnLAN -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeMACAddressWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = WakeOnLan::Attributes::MACAddress::TypeInfo; @@ -84492,18 +83508,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterChannel -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeChannelWithParams:(MTRChannelClusterChangeChannelParams *)params completion:(void (^)(MTRChannelClusterChangeChannelResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -85215,18 +84219,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterTargetNavigator -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)navigateTargetWithParams:(MTRTargetNavigatorClusterNavigateTargetParams *)params completion:(void (^)(MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -85809,18 +84801,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterMediaPlayback -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)playWithCompletion:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completion { [self playWithParams:nil completion:completion]; @@ -87142,18 +86122,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterMediaInput -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)selectInputWithParams:(MTRMediaInputClusterSelectInputParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -87836,18 +86804,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterLowPower -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)sleepWithCompletion:(MTRStatusCompletion)completion { [self sleepWithParams:nil completion:completion]; @@ -88293,18 +87249,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterKeypadInput -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)sendKeyWithParams:(MTRKeypadInputClusterSendKeyParams *)params completion:(void (^)(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -88745,18 +87689,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterContentLauncher -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)launchContentWithParams:(MTRContentLauncherClusterLaunchContentParams *)params completion:(void (^)(MTRContentLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -89407,18 +88339,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterAudioOutput -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)selectOutputWithParams:(MTRAudioOutputClusterSelectOutputParams *)params completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -90027,18 +88947,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterApplicationLauncher -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)launchAppWithParams:(MTRApplicationLauncherClusterLaunchAppParams * _Nullable)params completion:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -90731,18 +89639,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterApplicationBasic -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)readAttributeVendorNameWithCompletion:(void (^)(NSString * _Nullable value, NSError * _Nullable error))completion { using TypeInfo = ApplicationBasic::Attributes::VendorName::TypeInfo; @@ -91717,18 +90613,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterAccountLogin -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)getSetupPINWithParams:(MTRAccountLoginClusterGetSetupPINParams *)params completion:(void (^)(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -92244,18 +91128,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterElectricalMeasurement -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)getProfileInfoCommandWithCompletion:(MTRStatusCompletion)completion { [self getProfileInfoCommandWithParams:nil completion:completion]; @@ -102106,18 +100978,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterUnitTesting -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)testWithCompletion:(MTRStatusCompletion)completion { [self testWithParams:nil completion:completion]; @@ -112554,18 +111414,6 @@ - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device @implementation MTRBaseClusterSampleMEI -- (instancetype)initWithDevice:(MTRBaseDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)pingWithCompletion:(MTRStatusCompletion)completion { [self pingWithParams:nil completion:completion]; diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters_Internal.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters_Internal.h index b5853b9f0b8f74..7528fbc95fdfd0 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters_Internal.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters_Internal.h @@ -20,386 +20,5 @@ #import "MTRBaseClusters.h" #import "MTRBaseDevice.h" -@interface MTRBaseClusterIdentify () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterGroups () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterScenes () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOnOff () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOnOffSwitchConfiguration () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterLevelControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterBinaryInputBasic () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPulseWidthModulation () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterDescriptor () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterBinding () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterAccessControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterActions () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterBasicInformation () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOTASoftwareUpdateProvider () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOTASoftwareUpdateRequestor () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterLocalizationConfiguration () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterTimeFormatLocalization () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterUnitLocalization () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPowerSourceConfiguration () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPowerSource () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterGeneralCommissioning () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterNetworkCommissioning () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterDiagnosticLogs () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterGeneralDiagnostics () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterSoftwareDiagnostics () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterThreadNetworkDiagnostics () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterWiFiNetworkDiagnostics () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterEthernetNetworkDiagnostics () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterTimeSynchronization () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterBridgedDeviceBasicInformation () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterSwitch () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterAdministratorCommissioning () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOperationalCredentials () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterGroupKeyManagement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterFixedLabel () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterUserLabel () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterBooleanState () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterICDManagement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterModeSelect () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterLaundryWasherMode () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterRefrigeratorAndTemperatureControlledCabinetMode () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterLaundryWasherControls () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterRVCRunMode () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterRVCCleanMode () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterTemperatureControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterRefrigeratorAlarm () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterDishwasherMode () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterAirQuality () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterSmokeCOAlarm () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterDishwasherAlarm () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterMicrowaveOvenMode () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterMicrowaveOvenControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOperationalState () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterRVCOperationalState () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterHEPAFilterMonitoring () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterActivatedCarbonFilterMonitoring () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterDoorLock () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterWindowCovering () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterBarrierControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPumpConfigurationAndControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterThermostat () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterFanControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterThermostatUserInterfaceConfiguration () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterColorControl () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterBallastConfiguration () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterIlluminanceMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterTemperatureMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPressureMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterFlowMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterRelativeHumidityMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOccupancySensing () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterCarbonMonoxideConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterCarbonDioxideConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterNitrogenDioxideConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterOzoneConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPM25ConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterFormaldehydeConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPM1ConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterPM10ConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterTotalVolatileOrganicCompoundsConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterRadonConcentrationMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterWakeOnLAN () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterChannel () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterTargetNavigator () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterMediaPlayback () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterMediaInput () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterLowPower () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterKeypadInput () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterContentLauncher () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterAudioOutput () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterApplicationLauncher () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterApplicationBasic () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterAccountLogin () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterElectricalMeasurement () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterUnitTesting () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end - -@interface MTRBaseClusterSampleMEI () -@property (nonatomic, strong, readonly) MTRBaseDevice * device; -@end +// Nothing here for now, but leaving this file in place in case we need to add +// something. diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h index 19bdd9d688f301..9b58b2c32f3376 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h @@ -28,20 +28,7 @@ NS_ASSUME_NONNULL_BEGIN * Attributes and commands for putting a device into Identification mode (e.g. flashing a light). */ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterIdentify : MTRCluster - -/** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - -/** - * The device this cluster object is associated with. - */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +@interface MTRClusterIdentify : MTRGenericCluster - (void)identifyWithParams:(MTRIdentifyClusterIdentifyParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)triggerEffectWithParams:(MTRIdentifyClusterTriggerEffectParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -69,12 +56,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Groups - * Attributes and commands for group configuration and manipulation. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterGroups : MTRCluster +@interface MTRClusterIdentify (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -82,12 +64,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Groups + * Attributes and commands for group configuration and manipulation. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterGroups : MTRGenericCluster - (void)addGroupWithParams:(MTRGroupsClusterAddGroupParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)viewGroupWithParams:(MTRGroupsClusterViewGroupParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGroupsClusterViewGroupResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -117,12 +103,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Scenes - * Attributes and commands for scene configuration and manipulation. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterScenes : MTRCluster +@interface MTRClusterGroups (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -130,12 +111,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Scenes + * Attributes and commands for scene configuration and manipulation. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterScenes : MTRGenericCluster - (void)addSceneWithParams:(MTRScenesClusterAddSceneParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)viewSceneWithParams:(MTRScenesClusterViewSceneParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRScenesClusterViewSceneResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -181,12 +166,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster On/Off - * Attributes and commands for switching devices between 'On' and 'Off' states. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterOnOff : MTRCluster +@interface MTRClusterScenes (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -194,12 +174,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster On/Off + * Attributes and commands for switching devices between 'On' and 'Off' states. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterOnOff : MTRGenericCluster - (void)offWithParams:(MTROnOffClusterOffParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)offWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -249,25 +233,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster On/off Switch Configuration - * Attributes and commands for configuring On/Off switching devices. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterOnOffSwitchConfiguration : MTRCluster +@interface MTRClusterOnOff (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster On/off Switch Configuration + * Attributes and commands for configuring On/Off switching devices. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterOnOffSwitchConfiguration : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeSwitchTypeWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -292,25 +275,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Level Control - * Attributes and commands for controlling devices that can be set to a level between fully 'On' and fully 'Off.' - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterLevelControl : MTRCluster +@interface MTRClusterOnOffSwitchConfiguration (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Level Control + * Attributes and commands for controlling devices that can be set to a level between fully 'On' and fully 'Off.' */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterLevelControl : MTRGenericCluster - (void)moveToLevelWithParams:(MTRLevelControlClusterMoveToLevelParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)moveWithParams:(MTRLevelControlClusterMoveParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -381,25 +363,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Binary Input (Basic) - * An interface for reading the value of a binary measurement and accessing various characteristics of that measurement. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterBinaryInputBasic : MTRCluster +@interface MTRClusterLevelControl (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Binary Input (Basic) + * An interface for reading the value of a binary measurement and accessing various characteristics of that measurement. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterBinaryInputBasic : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeActiveTextWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (void)writeAttributeActiveTextWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -448,12 +429,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Pulse Width Modulation - * Cluster to control pulse width modulation - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterPulseWidthModulation : MTRCluster +@interface MTRClusterBinaryInputBasic (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -461,12 +437,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Pulse Width Modulation + * Cluster to control pulse width modulation */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterPulseWidthModulation : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -485,12 +465,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Descriptor - * The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterDescriptor : MTRCluster +@interface MTRClusterPulseWidthModulation (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -498,12 +473,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Descriptor + * The Descriptor Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for describing a node, its endpoints and clusters. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterDescriptor : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeDeviceTypeListWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -532,12 +511,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Binding - * The Binding Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for supporting the binding table. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterBinding : MTRCluster +@interface MTRClusterDescriptor (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -545,12 +519,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Binding + * The Binding Cluster is meant to replace the support from the Zigbee Device Object (ZDO) for supporting the binding table. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterBinding : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeBindingWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (void)writeAttributeBindingWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -573,15 +551,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Access Control - * The Access Control Cluster exposes a data model view of a - Node's Access Control List (ACL), which codifies the rules used to manage - and enforce Access Control for the Node's endpoints and their associated - cluster instances. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterAccessControl : MTRCluster +@interface MTRClusterBinding (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -589,12 +559,19 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Access Control + * The Access Control Cluster exposes a data model view of a + Node's Access Control List (ACL), which codifies the rules used to manage + and enforce Access Control for the Node's endpoints and their associated + cluster instances. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterAccessControl : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeACLWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)writeAttributeACLWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -627,25 +604,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Actions - * This cluster provides a standardized way for a Node (typically a Bridge, but could be any Node) to expose action information. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterActions : MTRCluster +@interface MTRClusterAccessControl (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Actions + * This cluster provides a standardized way for a Node (typically a Bridge, but could be any Node) to expose action information. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterActions : MTRGenericCluster - (void)instantActionWithParams:(MTRActionsClusterInstantActionParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)instantActionWithTransitionWithParams:(MTRActionsClusterInstantActionWithTransitionParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -683,14 +659,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Basic Information - * This cluster provides attributes and events for determining basic information about Nodes, which supports both - Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number, - which apply to the whole Node. Also allows setting user device information such as location. - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRClusterBasicInformation : MTRCluster +@interface MTRClusterActions (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -698,12 +667,18 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Basic Information + * This cluster provides attributes and events for determining basic information about Nodes, which supports both + Commissioning and operational determination of Node characteristics, such as Vendor ID, Product ID and serial number, + which apply to the whole Node. Also allows setting user device information such as location. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRClusterBasicInformation : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeDataModelRevisionWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -770,12 +745,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster OTA Software Update Provider - * Provides an interface for providing OTA software updates - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRClusterOTASoftwareUpdateProvider : MTRCluster +@interface MTRClusterBasicInformation (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -783,12 +753,16 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster OTA Software Update Provider + * Provides an interface for providing OTA software updates */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRClusterOTASoftwareUpdateProvider : MTRGenericCluster - (void)queryImageWithParams:(MTROTASoftwareUpdateProviderClusterQueryImageParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROTASoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)applyUpdateRequestWithParams:(MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -811,12 +785,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster OTA Software Update Requestor - * Provides an interface for downloading and applying OTA software updates - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRClusterOTASoftwareUpdateRequestor : MTRCluster +@interface MTRClusterOTASoftwareUpdateProvider (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -824,12 +793,16 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster OTA Software Update Requestor + * Provides an interface for downloading and applying OTA software updates */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRClusterOTASoftwareUpdateRequestor : MTRGenericCluster - (void)announceOTAProviderWithParams:(MTROTASoftwareUpdateRequestorClusterAnnounceOTAProviderParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -860,28 +833,27 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster Localization Configuration - * Nodes should be expected to be deployed to any and all regions of the world. These global regions - may have differing common languages, units of measurements, and numerical formatting - standards. As such, Nodes that visually or audibly convey information need a mechanism by which - they can be configured to use a user’s preferred language, units, etc - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterLocalizationConfiguration : MTRCluster +@interface MTRClusterOTASoftwareUpdateRequestor (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Localization Configuration + * Nodes should be expected to be deployed to any and all regions of the world. These global regions + may have differing common languages, units of measurements, and numerical formatting + standards. As such, Nodes that visually or audibly convey information need a mechanism by which + they can be configured to use a user’s preferred language, units, etc */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterLocalizationConfiguration : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeActiveLocaleWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (void)writeAttributeActiveLocaleWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -906,15 +878,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Time Format Localization - * Nodes should be expected to be deployed to any and all regions of the world. These global regions - may have differing preferences for how dates and times are conveyed. As such, Nodes that visually - or audibly convey time information need a mechanism by which they can be configured to use a - user’s preferred format. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterTimeFormatLocalization : MTRCluster +@interface MTRClusterLocalizationConfiguration (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -922,12 +886,19 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Time Format Localization + * Nodes should be expected to be deployed to any and all regions of the world. These global regions + may have differing preferences for how dates and times are conveyed. As such, Nodes that visually + or audibly convey time information need a mechanism by which they can be configured to use a + user’s preferred format. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterTimeFormatLocalization : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeHourFormatWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (void)writeAttributeHourFormatWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -956,15 +927,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Unit Localization - * Nodes should be expected to be deployed to any and all regions of the world. These global regions - may have differing preferences for the units in which values are conveyed in communication to a - user. As such, Nodes that visually or audibly convey measurable values to the user need a - mechanism by which they can be configured to use a user’s preferred unit. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterUnitLocalization : MTRCluster +@interface MTRClusterTimeFormatLocalization (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -972,12 +935,19 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Unit Localization + * Nodes should be expected to be deployed to any and all regions of the world. These global regions + may have differing preferences for the units in which values are conveyed in communication to a + user. As such, Nodes that visually or audibly convey measurable values to the user need a + mechanism by which they can be configured to use a user’s preferred unit. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterUnitLocalization : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeTemperatureUnitWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (void)writeAttributeTemperatureUnitWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -1000,12 +970,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Power Source Configuration - * This cluster is used to describe the configuration and capabilities of a Device's power system. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterPowerSourceConfiguration : MTRCluster +@interface MTRClusterUnitLocalization (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -1013,12 +978,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Power Source Configuration + * This cluster is used to describe the configuration and capabilities of a Device's power system. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterPowerSourceConfiguration : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeSourcesWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -1039,12 +1008,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Power Source - * This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterPowerSource : MTRCluster +@interface MTRClusterPowerSourceConfiguration (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -1052,12 +1016,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Power Source + * This cluster is used to describe the configuration and capabilities of a physical power source that provides power to the Node. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterPowerSource : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeStatusWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -1140,25 +1108,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end +@interface MTRClusterPowerSource (Availability) + /** - * Cluster General Commissioning - * This cluster is used to manage global aspects of the Commissioning flow. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterGeneralCommissioning : MTRCluster +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); -/** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. - */ -- (instancetype _Nullable)initWithDevice:(MTRDevice *)device - endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); +@end /** - * The device this cluster object is associated with. + * Cluster General Commissioning + * This cluster is used to manage global aspects of the Commissioning flow. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterGeneralCommissioning : MTRGenericCluster - (void)armFailSafeWithParams:(MTRGeneralCommissioningClusterArmFailSafeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)setRegulatoryConfigWithParams:(MTRGeneralCommissioningClusterSetRegulatoryConfigParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1195,12 +1162,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Network Commissioning - * Functionality to configure, enable, disable network credentials and access on a Matter device. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterNetworkCommissioning : MTRCluster +@interface MTRClusterGeneralCommissioning (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1208,12 +1170,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Network Commissioning + * Functionality to configure, enable, disable network credentials and access on a Matter device. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterNetworkCommissioning : MTRGenericCluster - (void)scanNetworksWithParams:(MTRNetworkCommissioningClusterScanNetworksParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)addOrUpdateWiFiNetworkWithParams:(MTRNetworkCommissioningClusterAddOrUpdateWiFiNetworkParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRNetworkCommissioningClusterNetworkConfigResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1263,12 +1229,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Diagnostic Logs - * The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterDiagnosticLogs : MTRCluster +@interface MTRClusterNetworkCommissioning (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1276,12 +1237,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Diagnostic Logs + * The cluster provides commands for retrieving unstructured diagnostic logs from a Node that may be used to aid in diagnostics. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterDiagnosticLogs : MTRGenericCluster - (void)retrieveLogsRequestWithParams:(MTRDiagnosticLogsClusterRetrieveLogsRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1302,12 +1267,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster General Diagnostics - * The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterGeneralDiagnostics : MTRCluster +@interface MTRClusterDiagnosticLogs (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1315,12 +1275,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster General Diagnostics + * The General Diagnostics Cluster, along with other diagnostics clusters, provide a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterGeneralDiagnostics : MTRGenericCluster - (void)testEventTriggerWithParams:(MTRGeneralDiagnosticsClusterTestEventTriggerParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)timeSnapshotWithParams:(MTRGeneralDiagnosticsClusterTimeSnapshotParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGeneralDiagnosticsClusterTimeSnapshotResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; @@ -1362,12 +1326,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Software Diagnostics - * The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterSoftwareDiagnostics : MTRCluster +@interface MTRClusterGeneralDiagnostics (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1375,12 +1334,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Software Diagnostics + * The Software Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterSoftwareDiagnostics : MTRGenericCluster - (void)resetWatermarksWithParams:(MTRSoftwareDiagnosticsClusterResetWatermarksParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)resetWatermarksWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -1411,12 +1374,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Thread Network Diagnostics - * The Thread Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterThreadNetworkDiagnostics : MTRCluster +@interface MTRClusterSoftwareDiagnostics (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1424,12 +1382,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Thread Network Diagnostics + * The Thread Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterThreadNetworkDiagnostics : MTRGenericCluster - (void)resetCountsWithParams:(MTRThreadNetworkDiagnosticsClusterResetCountsParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)resetCountsWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -1578,12 +1540,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster WiFi Network Diagnostics - * The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterWiFiNetworkDiagnostics : MTRCluster +@interface MTRClusterThreadNetworkDiagnostics (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1591,12 +1548,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster WiFi Network Diagnostics + * The Wi-Fi Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterWiFiNetworkDiagnostics : MTRGenericCluster - (void)resetCountsWithParams:(MTRWiFiNetworkDiagnosticsClusterResetCountsParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)resetCountsWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -1645,12 +1606,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Ethernet Network Diagnostics - * The Ethernet Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterEthernetNetworkDiagnostics : MTRCluster +@interface MTRClusterWiFiNetworkDiagnostics (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1658,12 +1614,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Ethernet Network Diagnostics + * The Ethernet Network Diagnostics Cluster provides a means to acquire standardized diagnostics metrics that MAY be used by a Node to assist a user or Administrative Node in diagnosing potential problems. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterEthernetNetworkDiagnostics : MTRGenericCluster - (void)resetCountsWithParams:(MTREthernetNetworkDiagnosticsClusterResetCountsParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)resetCountsWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -1704,12 +1664,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Time Synchronization - * Accurate time is required for a number of reasons, including scheduling, display and validating security materials. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterTimeSynchronization : MTRCluster +@interface MTRClusterEthernetNetworkDiagnostics (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1717,12 +1672,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Time Synchronization + * Accurate time is required for a number of reasons, including scheduling, display and validating security materials. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterTimeSynchronization : MTRGenericCluster - (void)setUTCTimeWithParams:(MTRTimeSynchronizationClusterSetUTCTimeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; - (void)setTrustedTimeSourceWithParams:(MTRTimeSynchronizationClusterSetTrustedTimeSourceParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; @@ -1773,28 +1732,27 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Bridged Device Basic Information - * This Cluster serves two purposes towards a Node communicating with a Bridge: indicate that the functionality on - the Endpoint where it is placed (and its Parts) is bridged from a non-CHIP technology; and provide a centralized - collection of attributes that the Node MAY collect to aid in conveying information regarding the Bridged Device to a user, - such as the vendor name, the model name, or user-assigned name. - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRClusterBridgedDeviceBasicInformation : MTRCluster +@interface MTRClusterTimeSynchronization (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Bridged Device Basic Information + * This Cluster serves two purposes towards a Node communicating with a Bridge: indicate that the functionality on + the Endpoint where it is placed (and its Parts) is bridged from a non-CHIP technology; and provide a centralized + collection of attributes that the Node MAY collect to aid in conveying information regarding the Bridged Device to a user, + such as the vendor name, the model name, or user-assigned name. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRClusterBridgedDeviceBasicInformation : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1847,14 +1805,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster Switch - * This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices. -Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. -Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterSwitch : MTRCluster +@interface MTRClusterBridgedDeviceBasicInformation (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -1862,12 +1813,18 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Switch + * This cluster exposes interactions with a switch device, for the purpose of using those interactions by other devices. +Two types of switch devices are supported: latching switch (e.g. rocker switch) and momentary switch (e.g. push button), distinguished with their feature flags. +Interactions with the switch device are exposed as attributes (for the latching switch) and as events (for both types of switches). An interested party MAY subscribe to these attributes/events and thus be informed of the interactions, and can perform actions based on this, for example by sending commands to perform an action such as controlling a light or a window shade. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterSwitch : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeNumberOfPositionsWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -1892,25 +1849,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Administrator Commissioning - * Commands to trigger a Node to allow a new Administrator to commission it. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterAdministratorCommissioning : MTRCluster +@interface MTRClusterSwitch (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Administrator Commissioning + * Commands to trigger a Node to allow a new Administrator to commission it. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterAdministratorCommissioning : MTRGenericCluster - (void)openCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenCommissioningWindowParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)openBasicCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenBasicCommissioningWindowParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1941,12 +1897,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Operational Credentials - * This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterOperationalCredentials : MTRCluster +@interface MTRClusterAdministratorCommissioning (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -1954,12 +1905,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Operational Credentials + * This cluster is used to add or remove Operational Credentials on a Commissionee or Node, as well as manage the associated Fabrics. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterOperationalCredentials : MTRGenericCluster - (void)attestationRequestWithParams:(MTROperationalCredentialsClusterAttestationRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)certificateChainRequestWithParams:(MTROperationalCredentialsClusterCertificateChainRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterCertificateChainResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -1999,12 +1954,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Group Key Management - * The Group Key Management Cluster is the mechanism by which group keys are managed. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterGroupKeyManagement : MTRCluster +@interface MTRClusterOperationalCredentials (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2012,12 +1962,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Group Key Management + * The Group Key Management Cluster is the mechanism by which group keys are managed. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterGroupKeyManagement : MTRGenericCluster - (void)keySetWriteWithParams:(MTRGroupKeyManagementClusterKeySetWriteParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)keySetReadWithParams:(MTRGroupKeyManagementClusterKeySetReadParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGroupKeyManagementClusterKeySetReadResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -2053,26 +2007,25 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Fixed Label - * The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only -labels. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterFixedLabel : MTRCluster +@interface MTRClusterGroupKeyManagement (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Fixed Label + * The Fixed Label Cluster provides a feature for the device to tag an endpoint with zero or more read only +labels. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterFixedLabel : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -2093,12 +2046,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster User Label - * The User Label Cluster provides a feature to tag an endpoint with zero or more labels. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterUserLabel : MTRCluster +@interface MTRClusterFixedLabel (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -2106,12 +2054,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster User Label + * The User Label Cluster provides a feature to tag an endpoint with zero or more labels. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterUserLabel : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (void)writeAttributeLabelListWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -2134,12 +2086,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Boolean State - * This cluster provides an interface to a boolean state called StateValue. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterBooleanState : MTRCluster +@interface MTRClusterUserLabel (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -2147,12 +2094,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Boolean State + * This cluster provides an interface to a boolean state called StateValue. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterBooleanState : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeStateValueWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -2173,25 +2124,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster ICD Management - * Allows servers to ensure that listed clients are notified when a server is available for communication. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterICDManagement : MTRCluster +@interface MTRClusterBooleanState (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster ICD Management + * Allows servers to ensure that listed clients are notified when a server is available for communication. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterICDManagement : MTRGenericCluster - (void)registerClientWithParams:(MTRICDManagementClusterRegisterClientParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRICDManagementClusterRegisterClientResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)unregisterClientWithParams:(MTRICDManagementClusterUnregisterClientParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; @@ -2232,12 +2182,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Mode Select - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterModeSelect : MTRCluster +@interface MTRClusterICDManagement (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2245,12 +2190,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Mode Select + * Attributes and commands for selecting a mode from a list of supported options. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterModeSelect : MTRGenericCluster - (void)changeToModeWithParams:(MTRModeSelectClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -2287,12 +2236,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Laundry Washer Mode - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterLaundryWasherMode : MTRCluster +@interface MTRClusterModeSelect (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2300,12 +2244,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Laundry Washer Mode + * Attributes and commands for selecting a mode from a list of supported options. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterLaundryWasherMode : MTRGenericCluster - (void)changeToModeWithParams:(MTRLaundryWasherModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRLaundryWasherModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; @@ -2338,12 +2286,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Refrigerator And Temperature Controlled Cabinet Mode - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterRefrigeratorAndTemperatureControlledCabinetMode : MTRCluster +@interface MTRClusterLaundryWasherMode (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2351,12 +2294,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Refrigerator And Temperature Controlled Cabinet Mode + * Attributes and commands for selecting a mode from a list of supported options. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterRefrigeratorAndTemperatureControlledCabinetMode : MTRGenericCluster - (void)changeToModeWithParams:(MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; @@ -2389,25 +2336,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Laundry Washer Controls - * This cluster supports remotely monitoring and controling the different typs of functionality available to a washing device, such as a washing machine. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterLaundryWasherControls : MTRCluster +@interface MTRClusterRefrigeratorAndTemperatureControlledCabinetMode (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Laundry Washer Controls + * This cluster supports remotely monitoring and controling the different typs of functionality available to a washing device, such as a washing machine. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterLaundryWasherControls : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeSpinSpeedsWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -2438,25 +2384,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster RVC Run Mode - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterRVCRunMode : MTRCluster +@interface MTRClusterLaundryWasherControls (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster RVC Run Mode + * Attributes and commands for selecting a mode from a list of supported options. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterRVCRunMode : MTRGenericCluster - (void)changeToModeWithParams:(MTRRVCRunModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRVCRunModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; @@ -2485,12 +2430,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster RVC Clean Mode - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterRVCCleanMode : MTRCluster +@interface MTRClusterRVCRunMode (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2498,12 +2438,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster RVC Clean Mode + * Attributes and commands for selecting a mode from a list of supported options. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterRVCCleanMode : MTRGenericCluster - (void)changeToModeWithParams:(MTRRVCCleanModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRVCCleanModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; @@ -2532,12 +2476,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Temperature Control - * Attributes and commands for configuring the temperature control, and reporting temperature. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterTemperatureControl : MTRCluster +@interface MTRClusterRVCCleanMode (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2545,12 +2484,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Temperature Control + * Attributes and commands for configuring the temperature control, and reporting temperature. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterTemperatureControl : MTRGenericCluster - (void)setTemperatureWithParams:(MTRTemperatureControlClusterSetTemperatureParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; @@ -2583,25 +2526,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Refrigerator Alarm - * Attributes and commands for configuring the Refrigerator alarm. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterRefrigeratorAlarm : MTRCluster +@interface MTRClusterTemperatureControl (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Refrigerator Alarm + * Attributes and commands for configuring the Refrigerator alarm. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterRefrigeratorAlarm : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMaskWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -2626,25 +2568,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Dishwasher Mode - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterDishwasherMode : MTRCluster +@interface MTRClusterRefrigeratorAlarm (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Dishwasher Mode + * Attributes and commands for selecting a mode from a list of supported options. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterDishwasherMode : MTRGenericCluster - (void)changeToModeWithParams:(MTRDishwasherModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRDishwasherModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; @@ -2677,25 +2618,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Air Quality - * Attributes for reporting air quality classification - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterAirQuality : MTRCluster +@interface MTRClusterDishwasherMode (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Air Quality + * Attributes for reporting air quality classification */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterAirQuality : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeAirQualityWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -2716,25 +2656,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Smoke CO Alarm - * This cluster provides an interface for observing and managing the state of smoke and CO alarms. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterSmokeCOAlarm : MTRCluster +@interface MTRClusterAirQuality (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Smoke CO Alarm + * This cluster provides an interface for observing and managing the state of smoke and CO alarms. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterSmokeCOAlarm : MTRGenericCluster - (void)selfTestRequestWithParams:(MTRSmokeCOAlarmClusterSelfTestRequestParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; - (void)selfTestRequestWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -2785,12 +2724,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Dishwasher Alarm - * Attributes and commands for configuring the Dishwasher alarm. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterDishwasherAlarm : MTRCluster +@interface MTRClusterSmokeCOAlarm (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2798,12 +2732,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Dishwasher Alarm + * Attributes and commands for configuring the Dishwasher alarm. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterDishwasherAlarm : MTRGenericCluster - (void)resetWithParams:(MTRDishwasherAlarmClusterResetParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; - (void)modifyEnabledAlarmsWithParams:(MTRDishwasherAlarmClusterModifyEnabledAlarmsParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; @@ -2833,25 +2771,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Microwave Oven Mode - * Attributes and commands for selecting a mode from a list of supported options. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterMicrowaveOvenMode : MTRCluster +@interface MTRClusterDishwasherAlarm (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Microwave Oven Mode + * Attributes and commands for selecting a mode from a list of supported options. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterMicrowaveOvenMode : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeSupportedModesWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -2874,25 +2811,24 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Microwave Oven Control - * Attributes and commands for configuring the microwave oven control, and reporting cooking stats. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterMicrowaveOvenControl : MTRCluster +@interface MTRClusterMicrowaveOvenMode (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Microwave Oven Control + * Attributes and commands for configuring the microwave oven control, and reporting cooking stats. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterMicrowaveOvenControl : MTRGenericCluster - (void)setCookingParametersWithParams:(MTRMicrowaveOvenControlClusterSetCookingParametersParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; - (void)addMoreTimeWithParams:(MTRMicrowaveOvenControlClusterAddMoreTimeParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; @@ -2924,12 +2860,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Operational State - * This cluster supports remotely monitoring and, where supported, changing the operational state of any device where a state machine is a part of the operation. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterOperationalState : MTRCluster +@interface MTRClusterMicrowaveOvenControl (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2937,12 +2868,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Operational State + * This cluster supports remotely monitoring and, where supported, changing the operational state of any device where a state machine is a part of the operation. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterOperationalState : MTRGenericCluster - (void)pauseWithParams:(MTROperationalStateClusterPauseParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)pauseWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion @@ -2986,12 +2921,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster RVC Operational State - * This cluster supports remotely monitoring and, where supported, changing the operational state of a Robotic Vacuum. - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterRVCOperationalState : MTRCluster +@interface MTRClusterOperationalState (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -2999,12 +2929,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster RVC Operational State + * This cluster supports remotely monitoring and, where supported, changing the operational state of a Robotic Vacuum. */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterRVCOperationalState : MTRGenericCluster - (void)pauseWithParams:(MTRRVCOperationalStateClusterPauseParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRVCOperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_PROVISIONALLY_AVAILABLE; - (void)pauseWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRVCOperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion @@ -3048,12 +2982,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster HEPA Filter Monitoring - * Attributes and commands for monitoring HEPA filters in a device - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterHEPAFilterMonitoring : MTRCluster +@interface MTRClusterRVCOperationalState (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -3061,12 +2990,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster HEPA Filter Monitoring + * Attributes and commands for monitoring HEPA filters in a device */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterHEPAFilterMonitoring : MTRGenericCluster - (void)resetConditionWithParams:(MTRHEPAFilterMonitoringClusterResetConditionParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; - (void)resetConditionWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -3103,12 +3036,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Activated Carbon Filter Monitoring - * Attributes and commands for monitoring activated carbon filters in a device - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterActivatedCarbonFilterMonitoring : MTRCluster +@interface MTRClusterHEPAFilterMonitoring (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -3116,12 +3044,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Activated Carbon Filter Monitoring + * Attributes and commands for monitoring activated carbon filters in a device */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterActivatedCarbonFilterMonitoring : MTRGenericCluster - (void)resetConditionWithParams:(MTRActivatedCarbonFilterMonitoringClusterResetConditionParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; - (void)resetConditionWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -3158,12 +3090,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Door Lock - * An interface to a generic way to secure a door - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterDoorLock : MTRCluster +@interface MTRClusterActivatedCarbonFilterMonitoring (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -3171,12 +3098,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Door Lock + * An interface to a generic way to secure a door */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterDoorLock : MTRGenericCluster - (void)lockDoorWithParams:(MTRDoorLockClusterLockDoorParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)unlockDoorWithParams:(MTRDoorLockClusterUnlockDoorParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -3323,12 +3254,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Window Covering - * Provides an interface for controlling and adjusting automatic window coverings. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterWindowCovering : MTRCluster +@interface MTRClusterDoorLock (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -3336,12 +3262,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Window Covering + * Provides an interface for controlling and adjusting automatic window coverings. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterWindowCovering : MTRGenericCluster - (void)upOrOpenWithParams:(MTRWindowCoveringClusterUpOrOpenParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)upOrOpenWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -3420,12 +3350,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Barrier Control - * This cluster provides control of a barrier (garage door). - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterBarrierControl : MTRCluster +@interface MTRClusterWindowCovering (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -3433,12 +3358,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Barrier Control + * This cluster provides control of a barrier (garage door). */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterBarrierControl : MTRGenericCluster - (void)barrierControlGoToPercentWithParams:(MTRBarrierControlClusterBarrierControlGoToPercentParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)barrierControlStopWithParams:(MTRBarrierControlClusterBarrierControlStopParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -3494,25 +3423,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Pump Configuration and Control - * An interface for configuring and controlling pumps. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterPumpConfigurationAndControl : MTRCluster +@interface MTRClusterBarrierControl (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Pump Configuration and Control + * An interface for configuring and controlling pumps. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterPumpConfigurationAndControl : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMaxPressureWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -3585,25 +3513,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Thermostat - * An interface for configuring and controlling the functionality of a thermostat. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterThermostat : MTRCluster +@interface MTRClusterPumpConfigurationAndControl (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Thermostat + * An interface for configuring and controlling the functionality of a thermostat. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterThermostat : MTRGenericCluster - (void)setpointRaiseLowerWithParams:(MTRThermostatClusterSetpointRaiseLowerParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)setWeeklyScheduleWithParams:(MTRThermostatClusterSetWeeklyScheduleParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -3781,12 +3708,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Fan Control - * An interface for controlling a fan in a heating/cooling system. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterFanControl : MTRCluster +@interface MTRClusterThermostat (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -3794,12 +3716,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Fan Control + * An interface for controlling a fan in a heating/cooling system. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterFanControl : MTRGenericCluster - (void)stepWithParams:(MTRFanControlClusterStepParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; @@ -3858,25 +3784,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Thermostat User Interface Configuration - * An interface for configuring the user interface of a thermostat (which may be remote from the thermostat). - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterThermostatUserInterfaceConfiguration : MTRCluster +@interface MTRClusterFanControl (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Thermostat User Interface Configuration + * An interface for configuring the user interface of a thermostat (which may be remote from the thermostat). */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterThermostatUserInterfaceConfiguration : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeTemperatureDisplayModeWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); - (void)writeAttributeTemperatureDisplayModeWithValue:(NSDictionary *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -3907,25 +3832,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Color Control - * Attributes and commands for controlling the color properties of a color-capable light. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterColorControl : MTRCluster +@interface MTRClusterThermostatUserInterfaceConfiguration (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Color Control + * Attributes and commands for controlling the color properties of a color-capable light. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterColorControl : MTRGenericCluster - (void)moveToHueWithParams:(MTRColorControlClusterMoveToHueParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)moveHueWithParams:(MTRColorControlClusterMoveHueParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -4094,25 +4018,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Ballast Configuration - * Attributes and commands for configuring a lighting ballast. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterBallastConfiguration : MTRCluster +@interface MTRClusterColorControl (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Ballast Configuration + * Attributes and commands for configuring a lighting ballast. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterBallastConfiguration : MTRGenericCluster - (NSDictionary * _Nullable)readAttributePhysicalMinLevelWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -4179,12 +4102,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Illuminance Measurement - * Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterIlluminanceMeasurement : MTRCluster +@interface MTRClusterBallastConfiguration (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4192,12 +4110,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Illuminance Measurement + * Attributes and commands for configuring the measurement of illuminance, and reporting illuminance measurements. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterIlluminanceMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -4226,12 +4148,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Temperature Measurement - * Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterTemperatureMeasurement : MTRCluster +@interface MTRClusterIlluminanceMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4239,12 +4156,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Temperature Measurement + * Attributes and commands for configuring the measurement of temperature, and reporting temperature measurements. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterTemperatureMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -4271,12 +4192,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Pressure Measurement - * Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterPressureMeasurement : MTRCluster +@interface MTRClusterTemperatureMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4284,12 +4200,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Pressure Measurement + * Attributes and commands for configuring the measurement of pressure, and reporting pressure measurements. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterPressureMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -4326,12 +4246,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Flow Measurement - * Attributes and commands for configuring the measurement of flow, and reporting flow measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterFlowMeasurement : MTRCluster +@interface MTRClusterPressureMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4339,12 +4254,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Flow Measurement + * Attributes and commands for configuring the measurement of flow, and reporting flow measurements. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterFlowMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -4371,12 +4290,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Relative Humidity Measurement - * Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterRelativeHumidityMeasurement : MTRCluster +@interface MTRClusterFlowMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4384,12 +4298,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Relative Humidity Measurement + * Attributes and commands for configuring the measurement of relative humidity, and reporting relative humidity measurements. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterRelativeHumidityMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -4416,12 +4334,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Occupancy Sensing - * Attributes and commands for configuring occupancy sensing, and reporting occupancy status. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterOccupancySensing : MTRCluster +@interface MTRClusterRelativeHumidityMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4429,12 +4342,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Occupancy Sensing + * Attributes and commands for configuring occupancy sensing, and reporting occupancy status. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterOccupancySensing : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeOccupancyWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -4495,12 +4412,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Carbon Monoxide Concentration Measurement - * Attributes for reporting carbon monoxide concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterCarbonMonoxideConcentrationMeasurement : MTRCluster +@interface MTRClusterOccupancySensing (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4508,12 +4420,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Carbon Monoxide Concentration Measurement + * Attributes for reporting carbon monoxide concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterCarbonMonoxideConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4554,12 +4470,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Carbon Dioxide Concentration Measurement - * Attributes for reporting carbon dioxide concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterCarbonDioxideConcentrationMeasurement : MTRCluster +@interface MTRClusterCarbonMonoxideConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4567,12 +4478,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Carbon Dioxide Concentration Measurement + * Attributes for reporting carbon dioxide concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterCarbonDioxideConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4613,12 +4528,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Nitrogen Dioxide Concentration Measurement - * Attributes for reporting nitrogen dioxide concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterNitrogenDioxideConcentrationMeasurement : MTRCluster +@interface MTRClusterCarbonDioxideConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4626,12 +4536,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Nitrogen Dioxide Concentration Measurement + * Attributes for reporting nitrogen dioxide concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterNitrogenDioxideConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4672,12 +4586,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Ozone Concentration Measurement - * Attributes for reporting ozone concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterOzoneConcentrationMeasurement : MTRCluster +@interface MTRClusterNitrogenDioxideConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4685,12 +4594,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Ozone Concentration Measurement + * Attributes for reporting ozone concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterOzoneConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4731,12 +4644,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster PM2.5 Concentration Measurement - * Attributes for reporting PM2.5 concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterPM25ConcentrationMeasurement : MTRCluster +@interface MTRClusterOzoneConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4744,12 +4652,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster PM2.5 Concentration Measurement + * Attributes for reporting PM2.5 concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterPM25ConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4790,12 +4702,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Formaldehyde Concentration Measurement - * Attributes for reporting formaldehyde concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterFormaldehydeConcentrationMeasurement : MTRCluster +@interface MTRClusterPM25ConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4803,12 +4710,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Formaldehyde Concentration Measurement + * Attributes for reporting formaldehyde concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterFormaldehydeConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4849,12 +4760,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster PM1 Concentration Measurement - * Attributes for reporting PM1 concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterPM1ConcentrationMeasurement : MTRCluster +@interface MTRClusterFormaldehydeConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4862,12 +4768,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster PM1 Concentration Measurement + * Attributes for reporting PM1 concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterPM1ConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4908,12 +4818,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster PM10 Concentration Measurement - * Attributes for reporting PM10 concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterPM10ConcentrationMeasurement : MTRCluster +@interface MTRClusterPM1ConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4921,12 +4826,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster PM10 Concentration Measurement + * Attributes for reporting PM10 concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterPM10ConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -4967,12 +4876,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Total Volatile Organic Compounds Concentration Measurement - * Attributes for reporting total volatile organic compounds concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterTotalVolatileOrganicCompoundsConcentrationMeasurement : MTRCluster +@interface MTRClusterPM10ConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -4980,12 +4884,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Total Volatile Organic Compounds Concentration Measurement + * Attributes for reporting total volatile organic compounds concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterTotalVolatileOrganicCompoundsConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -5026,12 +4934,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Radon Concentration Measurement - * Attributes for reporting radon concentration measurements - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterRadonConcentrationMeasurement : MTRCluster +@interface MTRClusterTotalVolatileOrganicCompoundsConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -5039,12 +4942,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Radon Concentration Measurement + * Attributes for reporting radon concentration measurements */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterRadonConcentrationMeasurement : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params MTR_PROVISIONALLY_AVAILABLE; @@ -5085,12 +4992,7 @@ MTR_PROVISIONALLY_AVAILABLE @end -/** - * Cluster Wake on LAN - * This cluster provides an interface for managing low power mode on a device that supports the Wake On LAN protocol. - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRClusterWakeOnLAN : MTRCluster +@interface MTRClusterRadonConcentrationMeasurement (Availability) /** * The queue is currently unused, but may be used in the future for calling completions @@ -5098,12 +5000,16 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end /** - * The device this cluster object is associated with. + * Cluster Wake on LAN + * This cluster provides an interface for managing low power mode on a device that supports the Wake On LAN protocol. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRClusterWakeOnLAN : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeMACAddressWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5124,25 +5030,24 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster Channel - * This cluster provides an interface for controlling the current Channel on a device. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterChannel : MTRCluster +@interface MTRClusterWakeOnLAN (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Channel + * This cluster provides an interface for controlling the current Channel on a device. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterChannel : MTRGenericCluster - (void)changeChannelWithParams:(MTRChannelClusterChangeChannelParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRChannelClusterChangeChannelResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)changeChannelByNumberWithParams:(MTRChannelClusterChangeChannelByNumberParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5171,12 +5076,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Target Navigator - * This cluster provides an interface for UX navigation within a set of targets on a device or endpoint. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterTargetNavigator : MTRCluster +@interface MTRClusterChannel (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5184,12 +5084,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Target Navigator + * This cluster provides an interface for UX navigation within a set of targets on a device or endpoint. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterTargetNavigator : MTRGenericCluster - (void)navigateTargetWithParams:(MTRTargetNavigatorClusterNavigateTargetParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5214,12 +5118,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Media Playback - * This cluster provides an interface for controlling Media Playback (PLAY, PAUSE, etc) on a media device such as a TV or Speaker. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterMediaPlayback : MTRCluster +@interface MTRClusterTargetNavigator (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5227,12 +5126,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Media Playback + * This cluster provides an interface for controlling Media Playback (PLAY, PAUSE, etc) on a media device such as a TV or Speaker. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterMediaPlayback : MTRGenericCluster - (void)playWithParams:(MTRMediaPlaybackClusterPlayParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)playWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completion @@ -5293,12 +5196,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Media Input - * This cluster provides an interface for controlling the Input Selector on a media device such as a TV. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterMediaInput : MTRCluster +@interface MTRClusterMediaPlayback (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5306,12 +5204,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Media Input + * This cluster provides an interface for controlling the Input Selector on a media device such as a TV. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterMediaInput : MTRGenericCluster - (void)selectInputWithParams:(MTRMediaInputClusterSelectInputParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)showInputStatusWithParams:(MTRMediaInputClusterShowInputStatusParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5343,12 +5245,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Low Power - * This cluster provides an interface for managing low power mode on a device. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterLowPower : MTRCluster +@interface MTRClusterMediaInput (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5356,12 +5253,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Low Power + * This cluster provides an interface for managing low power mode on a device. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterLowPower : MTRGenericCluster - (void)sleepWithParams:(MTRLowPowerClusterSleepParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)sleepWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -5384,12 +5285,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Keypad Input - * This cluster provides an interface for controlling a device like a TV using action commands such as UP, DOWN, and SELECT. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterKeypadInput : MTRCluster +@interface MTRClusterLowPower (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5397,12 +5293,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Keypad Input + * This cluster provides an interface for controlling a device like a TV using action commands such as UP, DOWN, and SELECT. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterKeypadInput : MTRGenericCluster - (void)sendKeyWithParams:(MTRKeypadInputClusterSendKeyParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5423,12 +5323,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Content Launcher - * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterContentLauncher : MTRCluster +@interface MTRClusterKeypadInput (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5436,12 +5331,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Content Launcher + * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterContentLauncher : MTRGenericCluster - (void)launchContentWithParams:(MTRContentLauncherClusterLaunchContentParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRContentLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)launchURLWithParams:(MTRContentLauncherClusterLaunchURLParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRContentLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5469,12 +5368,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Audio Output - * This cluster provides an interface for controlling the Output on a media device such as a TV. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterAudioOutput : MTRCluster +@interface MTRClusterContentLauncher (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5482,12 +5376,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Audio Output + * This cluster provides an interface for controlling the Output on a media device such as a TV. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterAudioOutput : MTRGenericCluster - (void)selectOutputWithParams:(MTRAudioOutputClusterSelectOutputParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)renameOutputWithParams:(MTRAudioOutputClusterRenameOutputParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5513,12 +5411,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Application Launcher - * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterApplicationLauncher : MTRCluster +@interface MTRClusterAudioOutput (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5526,12 +5419,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Application Launcher + * This cluster provides an interface for launching content on a media player device such as a TV or Speaker. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterApplicationLauncher : MTRGenericCluster - (void)launchAppWithParams:(MTRApplicationLauncherClusterLaunchAppParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)stopAppWithParams:(MTRApplicationLauncherClusterStopAppParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5560,25 +5457,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Application Basic - * This cluster provides information about an application running on a TV or media player device which is represented as an endpoint. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterApplicationBasic : MTRCluster +@interface MTRClusterApplicationLauncher (Availability) /** - * The queue is currently unused, but may be used in the future for calling completions - * for command invocations if commands are added to this cluster. + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Application Basic + * This cluster provides information about an application running on a TV or media player device which is represented as an endpoint. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterApplicationBasic : MTRGenericCluster - (NSDictionary * _Nullable)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @@ -5613,25 +5509,24 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Account Login - * This cluster provides commands that facilitate user account login on a Content App or a node. For example, a Content App running on a Video Player device, which is represented as an endpoint (see [TV Architecture]), can use this cluster to help make the user account on the Content App match the user account on the Client. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterAccountLogin : MTRCluster +@interface MTRClusterApplicationBasic (Availability) /** - * For all instance methods that take a completion (i.e. command invocations), - * the completion will be called on the provided queue. + * The queue is currently unused, but may be used in the future for calling completions + * for command invocations if commands are added to this cluster. */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Account Login + * This cluster provides commands that facilitate user account login on a Content App or a node. For example, a Content App running on a Video Player device, which is represented as an endpoint (see [TV Architecture]), can use this cluster to help make the user account on the Content App match the user account on the Client. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterAccountLogin : MTRGenericCluster - (void)getSetupPINWithParams:(MTRAccountLoginClusterGetSetupPINParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data, NSError * _Nullable error))completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)loginWithParams:(MTRAccountLoginClusterLoginParams *)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @@ -5656,12 +5551,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Electrical Measurement - * Attributes related to the electrical properties of a device. This cluster is used by power outlets and other devices that need to provide instantaneous data as opposed to metrology data which should be retrieved from the metering cluster.. - */ -MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) -@interface MTRClusterElectricalMeasurement : MTRCluster +@interface MTRClusterAccountLogin (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5669,12 +5559,16 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Electrical Measurement + * Attributes related to the electrical properties of a device. This cluster is used by power outlets and other devices that need to provide instantaneous data as opposed to metrology data which should be retrieved from the metering cluster.. */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) +@interface MTRClusterElectricalMeasurement : MTRGenericCluster - (void)getProfileInfoCommandWithParams:(MTRElectricalMeasurementClusterGetProfileInfoCommandParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)getProfileInfoCommandWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -5970,12 +5864,7 @@ MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @end -/** - * Cluster Unit Testing - * The Test Cluster is meant to validate the generated code - */ -MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) -@interface MTRClusterUnitTesting : MTRCluster +@interface MTRClusterElectricalMeasurement (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -5983,12 +5872,16 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Unit Testing + * The Test Cluster is meant to validate the generated code */ -@property (nonatomic, readonly) MTRDevice * device MTR_NEWLY_AVAILABLE; +MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) +@interface MTRClusterUnitTesting : MTRGenericCluster - (void)testWithParams:(MTRUnitTestingClusterTestParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); - (void)testWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -6368,12 +6261,7 @@ MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @end -/** - * Cluster Sample MEI - * The Sample MEI cluster showcases a cluster manufacturer extensions - */ -MTR_PROVISIONALLY_AVAILABLE -@interface MTRClusterSampleMEI : MTRCluster +@interface MTRClusterUnitTesting (Availability) /** * For all instance methods that take a completion (i.e. command invocations), @@ -6381,12 +6269,16 @@ MTR_PROVISIONALLY_AVAILABLE */ - (instancetype _Nullable)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID - queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_PROVISIONALLY_AVAILABLE; + queue:(dispatch_queue_t)queue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); + +@end /** - * The device this cluster object is associated with. + * Cluster Sample MEI + * The Sample MEI cluster showcases a cluster manufacturer extensions */ -@property (nonatomic, readonly) MTRDevice * device MTR_PROVISIONALLY_AVAILABLE; +MTR_PROVISIONALLY_AVAILABLE +@interface MTRClusterSampleMEI : MTRGenericCluster - (void)pingWithParams:(MTRSampleMEIClusterPingParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion MTR_PROVISIONALLY_AVAILABLE; - (void)pingWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion @@ -6414,6 +6306,18 @@ MTR_PROVISIONALLY_AVAILABLE @end +@interface MTRClusterSampleMEI (Availability) + +/** + * For all instance methods that take a completion (i.e. command invocations), + * the completion will be called on the provided queue. + */ +- (instancetype _Nullable)initWithDevice:(MTRDevice *)device + endpointID:(NSNumber *)endpointID + queue:(dispatch_queue_t)queue MTR_PROVISIONALLY_AVAILABLE; + +@end + MTR_DEPRECATED("Please use MTRClusterBasicInformation", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRClusterBasic : MTRClusterBasicInformation @end diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm index 1684d5a86f5095..bf69082cf83584 100644 --- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm +++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.mm @@ -16,7 +16,6 @@ */ #import -#import #import "MTRClusterConstants.h" #import "MTRCluster_Internal.h" @@ -44,18 +43,6 @@ // NOLINTBEGIN(clang-analyzer-cplusplus.NewDeleteLeaks): Linter is unable to locate the delete on these objects. @implementation MTRClusterIdentify -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)identifyWithParams:(MTRIdentifyClusterIdentifyParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -184,18 +171,6 @@ - (void)triggerEffectWithParams:(MTRIdentifyClusterTriggerEffectParams *)params @implementation MTRClusterGroups -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)addGroupWithParams:(MTRGroupsClusterAddGroupParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGroupsClusterAddGroupResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -456,18 +431,6 @@ - (void)addGroupIfIdentifyingWithParams:(MTRGroupsClusterAddGroupIfIdentifyingPa @implementation MTRClusterScenes -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)addSceneWithParams:(MTRScenesClusterAddSceneParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRScenesClusterAddSceneResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -898,18 +861,6 @@ - (void)copySceneWithParams:(MTRScenesClusterCopySceneParams *)params expectedVa @implementation MTRClusterOnOff -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)offWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self offWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -1235,18 +1186,6 @@ - (void)onWithTimedOffWithParams:(MTROnOffClusterOnWithTimedOffParams *)params e @implementation MTRClusterOnOffSwitchConfiguration -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeSwitchTypeWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeOnOffSwitchConfigurationID) attributeID:@(MTRAttributeIDTypeClusterOnOffSwitchConfigurationAttributeSwitchTypeID) params:params]; @@ -1311,18 +1250,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterLevelControl -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)moveToLevelWithParams:(MTRLevelControlClusterMoveToLevelParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -1801,18 +1728,6 @@ - (void)moveToClosestFrequencyWithParams:(MTRLevelControlClusterMoveToClosestFre @implementation MTRClusterBinaryInputBasic -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeActiveTextWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeBinaryInputBasicID) attributeID:@(MTRAttributeIDTypeClusterBinaryInputBasicAttributeActiveTextID) params:params]; @@ -1967,18 +1882,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterPulseWidthModulation -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePulseWidthModulationID) attributeID:@(MTRAttributeIDTypeClusterPulseWidthModulationAttributeGeneratedCommandListID) params:params]; @@ -2013,18 +1916,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterDescriptor -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeDeviceTypeListWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeDescriptorID) attributeID:@(MTRAttributeIDTypeClusterDescriptorAttributeDeviceTypeListID) params:params]; @@ -2097,18 +1988,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterBinding -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeBindingWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeBindingID) attributeID:@(MTRAttributeIDTypeClusterBindingAttributeBindingID) params:params]; @@ -2168,18 +2047,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterAccessControl -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeACLWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeAccessControlID) attributeID:@(MTRAttributeIDTypeClusterAccessControlAttributeACLID) params:params]; @@ -2282,18 +2149,6 @@ - (void)writeAttributeAclWithValue:(NSDictionary *)dataValueDict @implementation MTRClusterActions -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)instantActionWithParams:(MTRActionsClusterInstantActionParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -2736,18 +2591,6 @@ - (void)disableActionWithDurationWithParams:(MTRActionsClusterDisableActionWithD @implementation MTRClusterBasicInformation -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)mfgSpecificPingWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self mfgSpecificPingWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -2971,18 +2814,6 @@ - (void)mfgSpecificPingWithExpectedValues:(NSArray @implementation MTRClusterOTASoftwareUpdateProvider -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)queryImageWithParams:(MTROTASoftwareUpdateProviderClusterQueryImageParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROTASoftwareUpdateProviderClusterQueryImageResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -3130,18 +2961,6 @@ - (void)notifyUpdateAppliedWithParams:(MTROtaSoftwareUpdateProviderClusterNotify @implementation MTRClusterOTASoftwareUpdateRequestor -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)announceOTAProviderWithParams:(MTROTASoftwareUpdateRequestorClusterAnnounceOTAProviderParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -3262,18 +3081,6 @@ - (void)writeAttributeDefaultOtaProvidersWithValue:(NSDictionary @implementation MTRClusterLocalizationConfiguration -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeActiveLocaleWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeLocalizationConfigurationID) attributeID:@(MTRAttributeIDTypeClusterLocalizationConfigurationAttributeActiveLocaleID) params:params]; @@ -3338,18 +3145,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterTimeFormatLocalization -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeHourFormatWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeTimeFormatLocalizationID) attributeID:@(MTRAttributeIDTypeClusterTimeFormatLocalizationAttributeHourFormatID) params:params]; @@ -3430,18 +3225,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterUnitLocalization -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeTemperatureUnitWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeUnitLocalizationID) attributeID:@(MTRAttributeIDTypeClusterUnitLocalizationAttributeTemperatureUnitID) params:params]; @@ -3501,18 +3284,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterPowerSourceConfiguration -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeSourcesWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePowerSourceConfigurationID) attributeID:@(MTRAttributeIDTypeClusterPowerSourceConfigurationAttributeSourcesID) params:params]; @@ -3561,18 +3332,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterPowerSource -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeStatusWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePowerSourceID) attributeID:@(MTRAttributeIDTypeClusterPowerSourceAttributeStatusID) params:params]; @@ -3776,18 +3535,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterGeneralCommissioning -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)armFailSafeWithParams:(MTRGeneralCommissioningClusterArmFailSafeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRGeneralCommissioningClusterArmFailSafeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -3980,18 +3727,6 @@ - (void)commissioningCompleteWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRNetworkCommissioningClusterScanNetworksResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -4311,18 +4046,6 @@ - (void)reorderNetworkWithParams:(MTRNetworkCommissioningClusterReorderNetworkPa @implementation MTRClusterDiagnosticLogs -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)retrieveLogsRequestWithParams:(MTRDiagnosticLogsClusterRetrieveLogsRequestParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRDiagnosticLogsClusterRetrieveLogsResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -4401,18 +4124,6 @@ - (void)retrieveLogsRequestWithParams:(MTRDiagnosticLogsClusterRetrieveLogsReque @implementation MTRClusterGeneralDiagnostics -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)testEventTriggerWithParams:(MTRGeneralDiagnosticsClusterTestEventTriggerParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -4568,18 +4279,6 @@ - (void)testEventTriggerWithParams:(MTRGeneralDiagnosticsClusterTestEventTrigger @implementation MTRClusterSoftwareDiagnostics -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetWatermarksWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self resetWatermarksWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -4683,18 +4382,6 @@ - (void)resetWatermarksWithExpectedValues:(NSArray @implementation MTRClusterThreadNetworkDiagnostics -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetCountsWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self resetCountsWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -5101,18 +4788,6 @@ - (void)resetCountsWithExpectedValues:(NSArray *> * @implementation MTRClusterWiFiNetworkDiagnostics -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetCountsWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self resetCountsWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -5269,18 +4944,6 @@ - (void)resetCountsWithExpectedValues:(NSArray *> * @implementation MTRClusterEthernetNetworkDiagnostics -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetCountsWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self resetCountsWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -5409,18 +5072,6 @@ - (void)resetCountsWithExpectedValues:(NSArray *> * @implementation MTRClusterTimeSynchronization -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setUTCTimeWithParams:(MTRTimeSynchronizationClusterSetUTCTimeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -5655,18 +5306,6 @@ - (void)setDefaultNTPWithParams:(MTRTimeSynchronizationClusterSetDefaultNTPParam @implementation MTRClusterBridgedDeviceBasicInformation -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeBridgedDeviceBasicInformationID) attributeID:@(MTRAttributeIDTypeClusterBridgedDeviceBasicInformationAttributeVendorNameID) params:params]; @@ -5803,18 +5442,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterSwitch -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeNumberOfPositionsWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeSwitchID) attributeID:@(MTRAttributeIDTypeClusterSwitchAttributeNumberOfPositionsID) params:params]; @@ -5873,18 +5500,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterAdministratorCommissioning -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)openCommissioningWindowWithParams:(MTRAdministratorCommissioningClusterOpenCommissioningWindowParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -6056,18 +5671,6 @@ - (void)revokeCommissioningWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTROperationalCredentialsClusterAttestationResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -6418,18 +6021,6 @@ - (void)addTrustedRootCertificateWithParams:(MTROperationalCredentialsClusterAdd @implementation MTRClusterGroupKeyManagement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)keySetWriteWithParams:(MTRGroupKeyManagementClusterKeySetWriteParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -6642,18 +6233,6 @@ - (void)keySetReadAllIndicesWithParams:(MTRGroupKeyManagementClusterKeySetReadAl @implementation MTRClusterFixedLabel -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeFixedLabelID) attributeID:@(MTRAttributeIDTypeClusterFixedLabelAttributeLabelListID) params:params]; @@ -6702,18 +6281,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterUserLabel -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeLabelListWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeUserLabelID) attributeID:@(MTRAttributeIDTypeClusterUserLabelAttributeLabelListID) params:params]; @@ -6773,18 +6340,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterBooleanState -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeStateValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeBooleanStateID) attributeID:@(MTRAttributeIDTypeClusterBooleanStateAttributeStateValueID) params:params]; @@ -6833,18 +6388,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterICDManagement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)registerClientWithParams:(MTRICDManagementClusterRegisterClientParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRICDManagementClusterRegisterClientResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -7004,18 +6547,6 @@ - (void)stayActiveRequestWithParams:(MTRICDManagementClusterStayActiveRequestPar @implementation MTRClusterModeSelect -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRModeSelectClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -7143,18 +6674,6 @@ - (void)changeToModeWithParams:(MTRModeSelectClusterChangeToModeParams *)params @implementation MTRClusterLaundryWasherMode -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRLaundryWasherModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRLaundryWasherModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -7258,18 +6777,6 @@ - (void)writeAttributeOnModeWithValue:(NSDictionary *)dataValueD @implementation MTRClusterRefrigeratorAndTemperatureControlledCabinetMode -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -7373,18 +6880,6 @@ - (void)writeAttributeOnModeWithValue:(NSDictionary *)dataValueD @implementation MTRClusterLaundryWasherControls -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeSpinSpeedsWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeLaundryWasherControlsID) attributeID:@(MTRAttributeIDTypeClusterLaundryWasherControlsAttributeSpinSpeedsID) params:params]; @@ -7461,18 +6956,6 @@ - (void)writeAttributeNumberOfRinsesWithValue:(NSDictionary *)da @implementation MTRClusterRVCRunMode -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRRVCRunModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRVCRunModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -7560,18 +7043,6 @@ - (void)writeAttributeOnModeWithValue:(NSDictionary *)dataValueD @implementation MTRClusterRVCCleanMode -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRRVCCleanModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRRVCCleanModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -7659,18 +7130,6 @@ - (void)writeAttributeOnModeWithValue:(NSDictionary *)dataValueD @implementation MTRClusterTemperatureControl -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setTemperatureWithParams:(MTRTemperatureControlClusterSetTemperatureParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -7762,18 +7221,6 @@ - (void)setTemperatureWithParams:(MTRTemperatureControlClusterSetTemperaturePara @implementation MTRClusterRefrigeratorAlarm -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMaskWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeRefrigeratorAlarmID) attributeID:@(MTRAttributeIDTypeClusterRefrigeratorAlarmAttributeMaskID) params:params]; @@ -7823,18 +7270,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterDishwasherMode -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeToModeWithParams:(MTRDishwasherModeClusterChangeToModeParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRDishwasherModeClusterChangeToModeResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -7938,18 +7373,6 @@ - (void)writeAttributeOnModeWithValue:(NSDictionary *)dataValueD @implementation MTRClusterAirQuality -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeAirQualityWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeAirQualityID) attributeID:@(MTRAttributeIDTypeClusterAirQualityAttributeAirQualityID) params:params]; @@ -7989,18 +7412,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterSmokeCOAlarm -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)selfTestRequestWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self selfTestRequestWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -8142,18 +7553,6 @@ - (void)writeAttributeSmokeSensitivityLevelWithValue:(NSDictionary *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -8262,18 +7661,6 @@ - (void)modifyEnabledAlarmsWithParams:(MTRDishwasherAlarmClusterModifyEnabledAla @implementation MTRClusterMicrowaveOvenMode -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeSupportedModesWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeMicrowaveOvenModeID) attributeID:@(MTRAttributeIDTypeClusterMicrowaveOvenModeAttributeSupportedModesID) params:params]; @@ -8318,18 +7705,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterMicrowaveOvenControl -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setCookingParametersWithParams:(MTRMicrowaveOvenControlClusterSetCookingParametersParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -8443,18 +7818,6 @@ - (void)addMoreTimeWithParams:(MTRMicrowaveOvenControlClusterAddMoreTimeParams * @implementation MTRClusterOperationalState -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)pauseWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(void (^)(MTROperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion { [self pauseWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -8643,18 +8006,6 @@ - (void)resumeWithParams:(MTROperationalStateClusterResumeParams * _Nullable)par @implementation MTRClusterRVCOperationalState -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)pauseWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(void (^)(MTRRVCOperationalStateClusterOperationalCommandResponseParams * _Nullable data, NSError * _Nullable error))completion { [self pauseWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -8843,18 +8194,6 @@ - (void)resumeWithParams:(MTRRVCOperationalStateClusterResumeParams * _Nullable) @implementation MTRClusterHEPAFilterMonitoring -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetConditionWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self resetConditionWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -8961,18 +8300,6 @@ - (void)writeAttributeLastChangedTimeWithValue:(NSDictionary *)d @implementation MTRClusterActivatedCarbonFilterMonitoring -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)resetConditionWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self resetConditionWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -9079,18 +8406,6 @@ - (void)writeAttributeLastChangedTimeWithValue:(NSDictionary *)d @implementation MTRClusterDoorLock -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)lockDoorWithParams:(MTRDoorLockClusterLockDoorParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -10157,18 +9472,6 @@ - (void)clearCredentialWithParams:(MTRDoorLockClusterClearCredentialParams *)par @implementation MTRClusterWindowCovering -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)upOrOpenWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self upOrOpenWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -10581,18 +9884,6 @@ - (void)goToTiltPercentageWithParams:(MTRWindowCoveringClusterGoToTiltPercentage @implementation MTRClusterBarrierControl -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)barrierControlGoToPercentWithParams:(MTRBarrierControlClusterBarrierControlGoToPercentParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -10824,18 +10115,6 @@ - (void)barrierControlStopWithExpectedValues:(NSArray * _Nullable)readAttributeMaxPressureWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePumpConfigurationAndControlID) attributeID:@(MTRAttributeIDTypeClusterPumpConfigurationAndControlAttributeMaxPressureID) params:params]; @@ -11038,18 +10317,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterThermostat -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)setpointRaiseLowerWithParams:(MTRThermostatClusterSetpointRaiseLowerParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -11774,18 +11041,6 @@ - (void)clearWeeklyScheduleWithExpectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -11993,18 +11248,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterThermostatUserInterfaceConfiguration -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeTemperatureDisplayModeWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeThermostatUserInterfaceConfigurationID) attributeID:@(MTRAttributeIDTypeClusterThermostatUserInterfaceConfigurationAttributeTemperatureDisplayModeID) params:params]; @@ -12096,18 +11339,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterColorControl -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)moveToHueWithParams:(MTRColorControlClusterMoveToHueParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -13162,18 +12393,6 @@ - (void)stepColorTemperatureWithParams:(MTRColorControlClusterStepColorTemperatu @implementation MTRClusterBallastConfiguration -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributePhysicalMinLevelWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeBallastConfigurationID) attributeID:@(MTRAttributeIDTypeClusterBallastConfigurationAttributePhysicalMinLevelID) params:params]; @@ -13409,18 +12628,6 @@ - (void)writeAttributeIntrinsicBalanceFactorWithValue:(NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeIlluminanceMeasurementID) attributeID:@(MTRAttributeIDTypeClusterIlluminanceMeasurementAttributeMeasuredValueID) params:params]; @@ -13489,18 +12696,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterTemperatureMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeTemperatureMeasurementID) attributeID:@(MTRAttributeIDTypeClusterTemperatureMeasurementAttributeMeasuredValueID) params:params]; @@ -13564,18 +12759,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterPressureMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePressureMeasurementID) attributeID:@(MTRAttributeIDTypeClusterPressureMeasurementAttributeMeasuredValueID) params:params]; @@ -13664,18 +12847,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterFlowMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeFlowMeasurementID) attributeID:@(MTRAttributeIDTypeClusterFlowMeasurementAttributeMeasuredValueID) params:params]; @@ -13739,18 +12910,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterRelativeHumidityMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeRelativeHumidityMeasurementID) attributeID:@(MTRAttributeIDTypeClusterRelativeHumidityMeasurementAttributeMeasuredValueID) params:params]; @@ -13814,18 +12973,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterOccupancySensing -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeOccupancyWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeOccupancySensingID) attributeID:@(MTRAttributeIDTypeClusterOccupancySensingAttributeOccupancyID) params:params]; @@ -14064,18 +13211,6 @@ - (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeCarbonMonoxideConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterCarbonMonoxideConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14165,18 +13300,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterCarbonDioxideConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeCarbonDioxideConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterCarbonDioxideConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14266,18 +13389,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterNitrogenDioxideConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeNitrogenDioxideConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterNitrogenDioxideConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14367,18 +13478,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterOzoneConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeOzoneConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterOzoneConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14468,18 +13567,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterPM25ConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePM25ConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterPM25ConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14569,18 +13656,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterFormaldehydeConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeFormaldehydeConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterFormaldehydeConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14670,18 +13745,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterPM1ConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePM1ConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterPM1ConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14771,18 +13834,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterPM10ConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypePM10ConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterPM10ConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14872,18 +13923,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterTotalVolatileOrganicCompoundsConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeTotalVolatileOrganicCompoundsConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterTotalVolatileOrganicCompoundsConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -14973,18 +14012,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterRadonConcentrationMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMeasuredValueWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeRadonConcentrationMeasurementID) attributeID:@(MTRAttributeIDTypeClusterRadonConcentrationMeasurementAttributeMeasuredValueID) params:params]; @@ -15074,18 +14101,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpoi @implementation MTRClusterWakeOnLAN -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeMACAddressWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeWakeOnLANID) attributeID:@(MTRAttributeIDTypeClusterWakeOnLANAttributeMACAddressID) params:params]; @@ -15136,18 +14151,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterChannel -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)changeChannelWithParams:(MTRChannelClusterChangeChannelParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRChannelClusterChangeChannelResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -15305,18 +14308,6 @@ - (void)skipChannelWithParams:(MTRChannelClusterSkipChannelParams *)params expec @implementation MTRClusterTargetNavigator -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)navigateTargetWithParams:(MTRTargetNavigatorClusterNavigateTargetParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRTargetNavigatorClusterNavigateTargetResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -15405,18 +14396,6 @@ - (void)navigateTargetWithParams:(MTRTargetNavigatorClusterNavigateTargetParams @implementation MTRClusterMediaPlayback -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)playWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(void (^)(MTRMediaPlaybackClusterPlaybackResponseParams * _Nullable data, NSError * _Nullable error))completion { [self playWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -15944,18 +14923,6 @@ - (void)seekWithParams:(MTRMediaPlaybackClusterSeekParams *)params expectedValue @implementation MTRClusterMediaInput -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)selectInputWithParams:(MTRMediaInputClusterSelectInputParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -16153,18 +15120,6 @@ - (void)renameInputWithParams:(MTRMediaInputClusterRenameInputParams *)params ex @implementation MTRClusterLowPower -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)sleepWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self sleepWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -16248,18 +15203,6 @@ - (void)sleepWithExpectedValues:(NSArray *> * _Null @implementation MTRClusterKeypadInput -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)sendKeyWithParams:(MTRKeypadInputClusterSendKeyParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRKeypadInputClusterSendKeyResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -16338,18 +15281,6 @@ - (void)sendKeyWithParams:(MTRKeypadInputClusterSendKeyParams *)params expectedV @implementation MTRClusterContentLauncher -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)launchContentWithParams:(MTRContentLauncherClusterLaunchContentParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRContentLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -16484,18 +15415,6 @@ - (void)launchURLWithParams:(MTRContentLauncherClusterLaunchURLParams *)params e @implementation MTRClusterAudioOutput -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)selectOutputWithParams:(MTRAudioOutputClusterSelectOutputParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { if (params == nil) { @@ -16613,18 +15532,6 @@ - (void)renameOutputWithParams:(MTRAudioOutputClusterRenameOutputParams *)params @implementation MTRClusterApplicationLauncher -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)launchAppWithParams:(MTRApplicationLauncherClusterLaunchAppParams * _Nullable)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRApplicationLauncherClusterLauncherResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -16794,18 +15701,6 @@ - (void)hideAppWithParams:(MTRApplicationLauncherClusterHideAppParams * _Nullabl @implementation MTRClusterApplicationBasic -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (NSDictionary * _Nullable)readAttributeVendorNameWithParams:(MTRReadParams * _Nullable)params { return [self.device readAttributeWithEndpointID:@(self.endpoint) clusterID:@(MTRClusterIDTypeApplicationBasicID) attributeID:@(MTRAttributeIDTypeClusterApplicationBasicAttributeVendorNameID) params:params]; @@ -16889,18 +15784,6 @@ - (instancetype)initWithDevice:(MTRDevice *)device endpoint:(uint16_t)endpoint q @implementation MTRClusterAccountLogin -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)getSetupPINWithParams:(MTRAccountLoginClusterGetSetupPINParams *)params expectedValues:(NSArray *> * _Nullable)expectedValues expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:(void (^)(MTRAccountLoginClusterGetSetupPINResponseParams * _Nullable data, NSError * _Nullable error))completion { if (params == nil) { @@ -17060,18 +15943,6 @@ - (void)logoutWithExpectedValues:(NSArray *> * _Nul @implementation MTRClusterElectricalMeasurement -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)getProfileInfoCommandWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self getProfileInfoCommandWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -17915,18 +16786,6 @@ - (void)getMeasurementProfileCommandWithParams:(MTRElectricalMeasurementClusterG @implementation MTRClusterUnitTesting -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)testWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self testWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion]; @@ -20085,18 +18944,6 @@ - (void)testEmitTestFabricScopedEventRequestWithParams:(MTRTestClusterClusterTes @implementation MTRClusterSampleMEI -- (instancetype)initWithDevice:(MTRDevice *)device endpointID:(NSNumber *)endpointID queue:(dispatch_queue_t)queue -{ - if (self = [super initWithEndpointID:endpointID queue:queue]) { - if (device == nil) { - return nil; - } - - _device = device; - } - return self; -} - - (void)pingWithExpectedValues:(NSArray *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:(MTRStatusCompletion)completion { [self pingWithParams:nil expectedValues:expectedValues expectedValueInterval:expectedValueIntervalMs completion:completion];