/* * * Copyright (c) 2022 Project CHIP Authors * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #import #import NS_ASSUME_NONNULL_BEGIN MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRIdentifyClusterIdentifyParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull identifyTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRIdentifyClusterTriggerEffectParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull effectIdentifier MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull effectVariant MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterAddGroupParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nonnull groupName MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTRGroupsClusterAddGroupParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull groupId MTR_DEPRECATED("Please use groupID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterAddGroupResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGroupsClusterAddGroupResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end @interface MTRGroupsClusterAddGroupResponseParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull groupId MTR_DEPRECATED("Please use groupID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterViewGroupParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTRGroupsClusterViewGroupParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull groupId MTR_DEPRECATED("Please use groupID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterViewGroupResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nonnull groupName MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGroupsClusterViewGroupResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end @interface MTRGroupsClusterViewGroupResponseParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull groupId MTR_DEPRECATED("Please use groupID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterGetGroupMembershipParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull groupList MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterGetGroupMembershipResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable capacity MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSArray * _Nonnull groupList MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGroupsClusterGetGroupMembershipResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterRemoveGroupParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTRGroupsClusterRemoveGroupParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull groupId MTR_DEPRECATED("Please use groupID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterRemoveGroupResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGroupsClusterRemoveGroupResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end @interface MTRGroupsClusterRemoveGroupResponseParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull groupId MTR_DEPRECATED("Please use groupID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterRemoveAllGroupsParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupsClusterAddGroupIfIdentifyingParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nonnull groupName MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTRGroupsClusterAddGroupIfIdentifyingParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull groupId MTR_DEPRECATED("Please use groupID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROnOffClusterOffParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROnOffClusterOnParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROnOffClusterToggleParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROnOffClusterOffWithEffectParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull effectIdentifier MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull effectVariant MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTROnOffClusterOffWithEffectParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull effectId MTR_DEPRECATED("Please use effectIdentifier", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROnOffClusterOnWithRecallGlobalSceneParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROnOffClusterOnWithTimedOffParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull onOffControl MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull onTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull offWaitTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterMoveToLevelParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull level MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterMoveParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull moveMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable rate MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterStepParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stepMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull stepSize MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterStopParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterMoveToLevelWithOnOffParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull level MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterMoveWithOnOffParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull moveMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable rate MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterStepWithOnOffParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stepMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull stepSize MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterStopWithOnOffParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLevelControlClusterMoveToClosestFrequencyParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull frequency MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRAccessControlClusterReviewFabricRestrictionsParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arl MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRAccessControlClusterReviewFabricRestrictionsResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull token MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRAccessControlClusterReviewFabricRestrictionsResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterInstantActionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterInstantActionWithTransitionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterStartActionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterStartActionWithDurationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull duration MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterStopActionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterPauseActionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterPauseActionWithDurationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull duration MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterResumeActionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterEnableActionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterEnableActionWithDurationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull duration MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterDisableActionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRActionsClusterDisableActionWithDurationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull actionID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable invokeID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull duration MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("This command has been removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRBasicClusterMfgSpecificPingParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTROTASoftwareUpdateProviderClusterQueryImageParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull vendorID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull productID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nonnull protocolsSupported MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable hardwareVersion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable location MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable requestorCanConsent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSData * _Nullable metadataForProvider MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTROTASoftwareUpdateProviderClusterQueryImageParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTROtaSoftwareUpdateProviderClusterQueryImageParams : MTROTASoftwareUpdateProviderClusterQueryImageParams @property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_DEPRECATED("The softwareVersion field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nonnull protocolsSupported MTR_DEPRECATED("The protocolsSupported field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable hardwareVersion MTR_DEPRECATED("The hardwareVersion field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable location MTR_DEPRECATED("The location field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable requestorCanConsent MTR_DEPRECATED("The requestorCanConsent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSData * _Nullable metadataForProvider MTR_DEPRECATED("The metadataForProvider field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTROTASoftwareUpdateProviderClusterQueryImageParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull vendorId MTR_DEPRECATED("Please use vendorID", ios(16.4, 16.4), macos(13.3, 13.3), watchos(9.4, 9.4), tvos(16.4, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull productId MTR_DEPRECATED("Please use productID", ios(16.4, 16.4), macos(13.3, 13.3), watchos(9.4, 9.4), tvos(16.4, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTROTASoftwareUpdateProviderClusterQueryImageResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable delayedActionTime MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable imageURI MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable softwareVersion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable softwareVersionString MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSData * _Nullable updateToken MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable userConsentNeeded MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSData * _Nullable metadataForRequestor MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTROTASoftwareUpdateProviderClusterQueryImageResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTROTASoftwareUpdateProviderClusterQueryImageResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTROtaSoftwareUpdateProviderClusterQueryImageResponseParams : MTROTASoftwareUpdateProviderClusterQueryImageResponseParams @property (nonatomic, copy) NSNumber * _Nonnull status MTR_DEPRECATED("The status field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable delayedActionTime MTR_DEPRECATED("The delayedActionTime field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable imageURI MTR_DEPRECATED("The imageURI field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable softwareVersion MTR_DEPRECATED("The softwareVersion field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable softwareVersionString MTR_DEPRECATED("The softwareVersionString field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSData * _Nullable updateToken MTR_DEPRECATED("The updateToken field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable userConsentNeeded MTR_DEPRECATED("The userConsentNeeded field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSData * _Nullable metadataForRequestor MTR_DEPRECATED("The metadataForRequestor field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull updateToken MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy, getter=getNewVersion) NSNumber * _Nonnull newVersion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTROtaSoftwareUpdateProviderClusterApplyUpdateRequestParams : MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams @property (nonatomic, copy) NSData * _Nonnull updateToken MTR_DEPRECATED("The updateToken field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy, getter=getNewVersion) NSNumber * _Nonnull newVersion MTR_DEPRECATED("The newVersion field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull action MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull delayedActionTime MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTROtaSoftwareUpdateProviderClusterApplyUpdateResponseParams : MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams @property (nonatomic, copy) NSNumber * _Nonnull action MTR_DEPRECATED("The action field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull delayedActionTime MTR_DEPRECATED("The delayedActionTime field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTROTASoftwareUpdateProviderClusterNotifyUpdateAppliedParams : NSObject @property (nonatomic, copy) NSData * _Nonnull updateToken MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTROTASoftwareUpdateProviderClusterNotifyUpdateAppliedParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTROtaSoftwareUpdateProviderClusterNotifyUpdateAppliedParams : MTROTASoftwareUpdateProviderClusterNotifyUpdateAppliedParams @property (nonatomic, copy) NSData * _Nonnull updateToken MTR_DEPRECATED("The updateToken field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_DEPRECATED("The softwareVersion field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTROTASoftwareUpdateRequestorClusterAnnounceOTAProviderParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull providerNodeID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull vendorID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull announcementReason MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSData * _Nullable metadataForNode MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull endpoint MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTROTASoftwareUpdateRequestorClusterAnnounceOTAProviderParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTROtaSoftwareUpdateRequestorClusterAnnounceOtaProviderParams : MTROTASoftwareUpdateRequestorClusterAnnounceOTAProviderParams @property (nonatomic, copy) NSNumber * _Nonnull announcementReason MTR_DEPRECATED("The announcementReason field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSData * _Nullable metadataForNode MTR_DEPRECATED("The metadataForNode field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull endpoint MTR_DEPRECATED("The endpoint field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTROTASoftwareUpdateRequestorClusterAnnounceOTAProviderParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull providerNodeId MTR_DEPRECATED("Please use providerNodeID", ios(16.4, 16.4), macos(13.3, 13.3), watchos(9.4, 9.4), tvos(16.4, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull vendorId MTR_DEPRECATED("Please use vendorID", ios(16.4, 16.4), macos(13.3, 13.3), watchos(9.4, 9.4), tvos(16.4, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralCommissioningClusterArmFailSafeParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull expiryLengthSeconds MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralCommissioningClusterArmFailSafeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull errorCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nonnull debugText MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGeneralCommissioningClusterArmFailSafeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralCommissioningClusterSetRegulatoryConfigParams : NSObject @property (nonatomic, copy, getter=getNewRegulatoryConfig) NSNumber * _Nonnull newRegulatoryConfig MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nonnull countryCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull errorCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nonnull debugText MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGeneralCommissioningClusterSetRegulatoryConfigResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralCommissioningClusterCommissioningCompleteParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralCommissioningClusterCommissioningCompleteResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull errorCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nonnull debugText MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGeneralCommissioningClusterCommissioningCompleteResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_PROVISIONALLY_AVAILABLE @interface MTRGeneralCommissioningClusterSetTCAcknowledgementsParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull tcVersion MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull tcUserResponse MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRGeneralCommissioningClusterSetTCAcknowledgementsResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull errorCode MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRGeneralCommissioningClusterSetTCAcknowledgementsResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterScanNetworksParams : NSObject @property (nonatomic, copy) NSData * _Nullable ssid MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterScanNetworksResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull networkingStatus MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable debugText MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSArray * _Nullable wiFiScanResults MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSArray * _Nullable threadScanResults MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRNetworkCommissioningClusterScanNetworksResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterAddOrUpdateWiFiNetworkParams : NSObject @property (nonatomic, copy) NSData * _Nonnull ssid MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull credentials MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable networkIdentity MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable clientIdentifier MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable possessionNonce MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterAddOrUpdateThreadNetworkParams : NSObject @property (nonatomic, copy) NSData * _Nonnull operationalDataset MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterRemoveNetworkParams : NSObject @property (nonatomic, copy) NSData * _Nonnull networkID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterNetworkConfigResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull networkingStatus MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable debugText MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable networkIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable clientIdentity MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable possessionSignature MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRNetworkCommissioningClusterNetworkConfigResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterConnectNetworkParams : NSObject @property (nonatomic, copy) NSData * _Nonnull networkID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterConnectNetworkResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull networkingStatus MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable debugText MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable errorValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRNetworkCommissioningClusterConnectNetworkResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRNetworkCommissioningClusterReorderNetworkParams : NSObject @property (nonatomic, copy) NSData * _Nonnull networkID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull networkIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable breadcrumb MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRNetworkCommissioningClusterQueryIdentityParams : NSObject @property (nonatomic, copy) NSData * _Nonnull keyIdentifier MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable possessionNonce MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRNetworkCommissioningClusterQueryIdentityResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull identity MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable possessionSignature MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRNetworkCommissioningClusterQueryIdentityResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDiagnosticLogsClusterRetrieveLogsRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull intent MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull requestedProtocol MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable transferFileDesignator MTR_AVAILABLE(ios(16.5), macos(13.4), watchos(9.5), tvos(16.5)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDiagnosticLogsClusterRetrieveLogsResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull logContent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable utcTimeStamp MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable timeSinceBoot MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRDiagnosticLogsClusterRetrieveLogsResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end @interface MTRDiagnosticLogsClusterRetrieveLogsResponseParams (Deprecated) @property (nonatomic, copy) NSData * _Nonnull content MTR_DEPRECATED("Please use logContent", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable timeStamp MTR_DEPRECATED("Please use utcTimeStamp", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGeneralDiagnosticsClusterTestEventTriggerParams : NSObject @property (nonatomic, copy) NSData * _Nonnull enableKey MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull eventTrigger MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRGeneralDiagnosticsClusterTimeSnapshotParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRGeneralDiagnosticsClusterTimeSnapshotResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull systemTimeMs MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable posixTimeMs MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRGeneralDiagnosticsClusterTimeSnapshotResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRGeneralDiagnosticsClusterPayloadTestRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull enableKey MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull value MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy, getter=getCount) NSNumber * _Nonnull count MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRGeneralDiagnosticsClusterPayloadTestResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull payload MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRGeneralDiagnosticsClusterPayloadTestResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRSoftwareDiagnosticsClusterResetWatermarksParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRThreadNetworkDiagnosticsClusterResetCountsParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWiFiNetworkDiagnosticsClusterResetCountsParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTREthernetNetworkDiagnosticsClusterResetCountsParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.2), macos(14.2), watchos(10.2), tvos(17.2)) @interface MTRTimeSynchronizationClusterSetUTCTimeParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull utcTime MTR_AVAILABLE(ios(17.2), macos(14.2), watchos(10.2), tvos(17.2)); @property (nonatomic, copy) NSNumber * _Nonnull granularity MTR_AVAILABLE(ios(17.2), macos(14.2), watchos(10.2), tvos(17.2)); @property (nonatomic, copy) NSNumber * _Nullable timeSource MTR_AVAILABLE(ios(17.2), macos(14.2), watchos(10.2), tvos(17.2)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRTimeSynchronizationClusterSetUtcTimeParams : MTRTimeSynchronizationClusterSetUTCTimeParams @property (nonatomic, copy) NSNumber * _Nonnull utcTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull granularity MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable timeSource MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimeSynchronizationClusterSetTrustedTimeSourceParams : NSObject @property (nonatomic, copy) MTRTimeSynchronizationClusterFabricScopedTrustedTimeSourceStruct * _Nullable trustedTimeSource MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimeSynchronizationClusterSetTimeZoneParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull timeZone MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimeSynchronizationClusterSetTimeZoneResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull dstOffsetRequired MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRTimeSynchronizationClusterSetTimeZoneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimeSynchronizationClusterSetDSTOffsetParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull dstOffset MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimeSynchronizationClusterSetDefaultNTPParams : NSObject @property (nonatomic, copy) NSString * _Nullable defaultNTP MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRBridgedDeviceBasicInformationClusterKeepActiveParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stayActiveDuration MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull timeoutMs MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAdministratorCommissioningClusterOpenCommissioningWindowParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull commissioningTimeout MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull pakePasscodeVerifier MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull discriminator MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull iterations MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull salt MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTRAdministratorCommissioningClusterOpenCommissioningWindowParams (Deprecated) @property (nonatomic, copy) NSData * _Nonnull pakeVerifier MTR_DEPRECATED("Please use pakePasscodeVerifier", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAdministratorCommissioningClusterOpenBasicCommissioningWindowParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull commissioningTimeout MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAdministratorCommissioningClusterRevokeCommissioningParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterAttestationRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull attestationNonce MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterAttestationResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull attestationElements MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull attestationSignature MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTROperationalCredentialsClusterAttestationResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end @interface MTROperationalCredentialsClusterAttestationResponseParams (Deprecated) @property (nonatomic, copy) NSData * _Nonnull signature MTR_DEPRECATED("Please use attestationSignature", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterCertificateChainRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull certificateType MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterCertificateChainResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull certificate MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTROperationalCredentialsClusterCertificateChainResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterCSRRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull csrNonce MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable isForUpdateNOC MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterCSRResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull nocsrElements MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull attestationSignature MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTROperationalCredentialsClusterCSRResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterAddNOCParams : NSObject @property (nonatomic, copy) NSData * _Nonnull nocValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable icacValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull ipkValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull caseAdminSubject MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull adminVendorId MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterUpdateNOCParams : NSObject @property (nonatomic, copy) NSData * _Nonnull nocValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable icacValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterNOCResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull statusCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable fabricIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable debugText MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTROperationalCredentialsClusterNOCResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterUpdateFabricLabelParams : NSObject @property (nonatomic, copy) NSString * _Nonnull label MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterRemoveFabricParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTROperationalCredentialsClusterAddTrustedRootCertificateParams : NSObject @property (nonatomic, copy) NSData * _Nonnull rootCACertificate MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTROperationalCredentialsClusterAddTrustedRootCertificateParams (Deprecated) @property (nonatomic, copy) NSData * _Nonnull rootCertificate MTR_DEPRECATED("Please use rootCACertificate", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupKeyManagementClusterKeySetWriteParams : NSObject @property (nonatomic, copy) MTRGroupKeyManagementClusterGroupKeySetStruct * _Nonnull groupKeySet MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupKeyManagementClusterKeySetReadParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupKeySetID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupKeyManagementClusterKeySetReadResponseParams : NSObject @property (nonatomic, copy) MTRGroupKeyManagementClusterGroupKeySetStruct * _Nonnull groupKeySet MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGroupKeyManagementClusterKeySetReadResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupKeyManagementClusterKeySetRemoveParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupKeySetID MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupKeyManagementClusterKeySetReadAllIndicesParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull groupKeySetIDs MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRGroupKeyManagementClusterKeySetReadAllIndicesResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_PROVISIONALLY_AVAILABLE @interface MTRICDManagementClusterRegisterClientParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull checkInNodeID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull monitoredSubject MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nonnull key MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable verificationKey MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull clientType MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRICDManagementClusterRegisterClientResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull icdCounter MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRICDManagementClusterRegisterClientResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRICDManagementClusterUnregisterClientParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull checkInNodeID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable verificationKey MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRICDManagementClusterStayActiveRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stayActiveDuration MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRICDManagementClusterStayActiveResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull promisedActiveDuration MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRICDManagementClusterStayActiveResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimerClusterSetTimerParams : NSObject @property (nonatomic, copy, getter=getNewTime) NSNumber * _Nonnull newTime MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimerClusterResetTimerParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimerClusterAddTimeParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull additionalTime MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTimerClusterReduceTimeParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull timeReduction MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTROvenCavityOperationalStateClusterPauseParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTROvenCavityOperationalStateClusterStopParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTROvenCavityOperationalStateClusterStartParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTROvenCavityOperationalStateClusterResumeParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTROvenCavityOperationalStateClusterOperationalCommandResponseParams : NSObject @property (nonatomic, copy) MTROvenCavityOperationalStateClusterErrorStateStruct * _Nonnull commandResponseState MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTROvenCavityOperationalStateClusterOperationalCommandResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTROvenModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTROvenModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTROvenModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRModeSelectClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRLaundryWasherModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRLaundryWasherModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRLaundryWasherModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRRefrigeratorAndTemperatureControlledCabinetModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTRRVCRunModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTRRVCRunModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); @property (nonatomic, copy) NSString * _Nullable statusText MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); /** * Initialize an MTRRVCRunModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTRRVCCleanModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTRRVCCleanModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); @property (nonatomic, copy) NSString * _Nullable statusText MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); /** * Initialize an MTRRVCCleanModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); @end MTR_PROVISIONALLY_AVAILABLE @interface MTRTemperatureControlClusterSetTemperatureParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable targetTemperature MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable targetTemperatureLevel MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDishwasherModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDishwasherModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRDishwasherModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRSmokeCOAlarmClusterSelfTestRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDishwasherAlarmClusterResetParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull alarms MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDishwasherAlarmClusterModifyEnabledAlarmsParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull mask MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRMicrowaveOvenControlClusterSetCookingParametersParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable cookMode MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable cookTime MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable powerSetting MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable wattSettingIndex MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable startAfterSetting MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRMicrowaveOvenControlClusterAddMoreTimeParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull timeToAdd MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTROperationalStateClusterPauseParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTROperationalStateClusterStopParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTROperationalStateClusterStartParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTROperationalStateClusterResumeParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTROperationalStateClusterOperationalCommandResponseParams : NSObject @property (nonatomic, copy) MTROperationalStateClusterErrorStateStruct * _Nonnull commandResponseState MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); /** * Initialize an MTROperationalStateClusterOperationalCommandResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTRRVCOperationalStateClusterPauseParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTRRVCOperationalStateClusterResumeParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)) @interface MTRRVCOperationalStateClusterOperationalCommandResponseParams : NSObject @property (nonatomic, copy) MTRRVCOperationalStateClusterErrorStateStruct * _Nonnull commandResponseState MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); /** * Initialize an MTRRVCOperationalStateClusterOperationalCommandResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.4), macos(14.4), watchos(10.4), tvos(17.4)); @end MTR_PROVISIONALLY_AVAILABLE @interface MTRRVCOperationalStateClusterGoHomeParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterAddSceneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull sceneName MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nonnull extensionFieldSets MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterAddSceneResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRScenesManagementClusterAddSceneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterViewSceneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterViewSceneResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable transitionTime MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable sceneName MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable extensionFieldSets MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRScenesManagementClusterViewSceneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterRemoveSceneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterRemoveSceneResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRScenesManagementClusterRemoveSceneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterRemoveAllScenesParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterRemoveAllScenesResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRScenesManagementClusterRemoveAllScenesResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterStoreSceneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterStoreSceneResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRScenesManagementClusterStoreSceneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterRecallSceneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable transitionTime MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterGetSceneMembershipParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterGetSceneMembershipResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable capacity MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable sceneList MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRScenesManagementClusterGetSceneMembershipResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterCopySceneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull mode MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupIdentifierFrom MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneIdentifierFrom MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupIdentifierTo MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneIdentifierTo MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRScenesManagementClusterCopySceneResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull groupIdentifierFrom MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sceneIdentifierFrom MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRScenesManagementClusterCopySceneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRHEPAFilterMonitoringClusterResetConditionParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRActivatedCarbonFilterMonitoringClusterResetConditionParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRBooleanStateConfigurationClusterSuppressAlarmParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull alarmsToSuppress MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRBooleanStateConfigurationClusterEnableDisableAlarmParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull alarmsToEnableDisable MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRValveConfigurationAndControlClusterOpenParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable openDuration MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)); @property (nonatomic, copy) NSNumber * _Nullable targetLevel MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRValveConfigurationAndControlClusterCloseParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWaterHeaterManagementClusterBoostParams : NSObject @property (nonatomic, copy) MTRWaterHeaterManagementClusterWaterHeaterBoostInfoStruct * _Nonnull boostInfo MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWaterHeaterManagementClusterCancelBoostParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDemandResponseLoadControlClusterRegisterLoadControlProgramRequestParams : NSObject @property (nonatomic, copy) MTRDemandResponseLoadControlClusterLoadControlProgramStruct * _Nonnull loadControlProgram MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDemandResponseLoadControlClusterUnregisterLoadControlProgramRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull loadControlProgramID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDemandResponseLoadControlClusterAddLoadControlEventRequestParams : NSObject @property (nonatomic, copy) MTRDemandResponseLoadControlClusterLoadControlEventStruct * _Nonnull event MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDemandResponseLoadControlClusterRemoveLoadControlEventRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull eventID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull cancelControl MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDemandResponseLoadControlClusterClearLoadControlEventsRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRMessagesClusterPresentMessagesRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull messageID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull priority MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull messageControl MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable startTime MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable duration MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull messageText MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable responses MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRMessagesClusterCancelMessagesRequestParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull messageIDs MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterPowerAdjustRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull power MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull duration MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull cause MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterCancelPowerAdjustRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterStartTimeAdjustRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull requestedStartTime MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull cause MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterPauseRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull duration MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull cause MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterResumeRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterModifyForecastRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull forecastID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nonnull slotAdjustments MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull cause MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterRequestConstraintBasedForecastParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull constraints MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull cause MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementClusterCancelRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterGetTargetsResponseParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull chargingTargetSchedules MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTREnergyEVSEClusterGetTargetsResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterDisableParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterEnableChargingParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable chargingEnabledUntil MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull minimumChargeCurrent MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull maximumChargeCurrent MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterEnableDischargingParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable dischargingEnabledUntil MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull maximumDischargeCurrent MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterStartDiagnosticsParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterSetTargetsParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull chargingTargetSchedules MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterGetTargetsParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEClusterClearTargetsParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTREnergyEVSEModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTREnergyEVSEModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWaterHeaterModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWaterHeaterModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRWaterHeaterModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementModeClusterChangeToModeParams : NSObject @property (nonatomic, copy, getter=getNewMode) NSNumber * _Nonnull newMode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDeviceEnergyManagementModeClusterChangeToModeResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRDeviceEnergyManagementModeClusterChangeToModeResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterLockDoorParams : NSObject @property (nonatomic, copy) NSData * _Nullable pinCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterUnlockDoorParams : NSObject @property (nonatomic, copy) NSData * _Nullable pinCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterUnlockWithTimeoutParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull timeout MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable pinCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterSetWeekDayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull weekDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull daysMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull startHour MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull startMinute MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull endHour MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull endMinute MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetWeekDayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull weekDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetWeekDayScheduleResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull weekDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable daysMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable startHour MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable startMinute MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable endHour MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable endMinute MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRDoorLockClusterGetWeekDayScheduleResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterClearWeekDayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull weekDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterSetYearDayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull yearDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull localStartTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull localEndTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetYearDayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull yearDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetYearDayScheduleResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull yearDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable localStartTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable localEndTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRDoorLockClusterGetYearDayScheduleResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterClearYearDayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull yearDayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterSetHolidayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull holidayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull localStartTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull localEndTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull operatingMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetHolidayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull holidayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetHolidayScheduleResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull holidayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable localStartTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable localEndTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable operatingMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRDoorLockClusterGetHolidayScheduleResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterClearHolidayScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull holidayIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterSetUserParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull operationType MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable userName MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userUniqueID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable userStatus MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userType MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable credentialRule MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTRDoorLockClusterSetUserParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nullable userUniqueId MTR_DEPRECATED("Please use userUniqueID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetUserParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetUserResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable userName MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userUniqueID MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable userStatus MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userType MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable credentialRule MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSArray * _Nullable credentials MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable creatorFabricIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable lastModifiedFabricIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable nextUserIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRDoorLockClusterGetUserResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end @interface MTRDoorLockClusterGetUserResponseParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nullable userUniqueId MTR_DEPRECATED("Please use userUniqueID", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterClearUserParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterSetCredentialParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull operationType MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) MTRDoorLockClusterCredentialStruct * _Nonnull credential MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nonnull credentialData MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userStatus MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userType MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterSetCredentialResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable nextCredentialIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRDoorLockClusterSetCredentialResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetCredentialStatusParams : NSObject @property (nonatomic, copy) MTRDoorLockClusterCredentialStruct * _Nonnull credential MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterGetCredentialStatusResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull credentialExists MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable userIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable creatorFabricIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable lastModifiedFabricIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable nextCredentialIndex MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable credentialData MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRDoorLockClusterGetCredentialStatusResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRDoorLockClusterClearCredentialParams : NSObject @property (nonatomic, copy) MTRDoorLockClusterCredentialStruct * _Nullable credential MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDoorLockClusterUnboltDoorParams : NSObject @property (nonatomic, copy) NSData * _Nullable pinCode MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDoorLockClusterSetAliroReaderConfigParams : NSObject @property (nonatomic, copy) NSData * _Nonnull signingKey MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nonnull verificationKey MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nonnull groupIdentifier MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable groupResolvingKey MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRDoorLockClusterClearAliroReaderConfigParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWindowCoveringClusterUpOrOpenParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWindowCoveringClusterDownOrCloseParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWindowCoveringClusterStopMotionParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWindowCoveringClusterGoToLiftValueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull liftValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWindowCoveringClusterGoToLiftPercentageParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull liftPercent100thsValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWindowCoveringClusterGoToTiltValueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull tiltValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRWindowCoveringClusterGoToTiltPercentageParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull tiltPercent100thsValue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRServiceAreaClusterSelectAreasParams : NSObject @property (nonatomic, copy, getter=getNewAreas) NSArray * _Nonnull newAreas MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRServiceAreaClusterSelectAreasResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRServiceAreaClusterSelectAreasResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRServiceAreaClusterSkipAreaParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull skippedArea MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRServiceAreaClusterSkipAreaResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull statusText MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRServiceAreaClusterSkipAreaResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRThermostatClusterSetpointRaiseLowerParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull mode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull amount MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRThermostatClusterGetWeeklyScheduleResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull numberOfTransitionsForSequence MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull dayOfWeekForSequence MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull modeForSequence MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSArray * _Nonnull transitions MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRThermostatClusterGetWeeklyScheduleResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRThermostatClusterSetWeeklyScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull numberOfTransitionsForSequence MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull dayOfWeekForSequence MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull modeForSequence MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSArray * _Nonnull transitions MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRThermostatClusterGetWeeklyScheduleParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull daysToReturn MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull modeToReturn MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRThermostatClusterClearWeeklyScheduleParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThermostatClusterSetActiveScheduleRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull scheduleHandle MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThermostatClusterSetActivePresetRequestParams : NSObject @property (nonatomic, copy) NSData * _Nullable presetHandle MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThermostatClusterAtomicResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull statusCode MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nonnull attributeStatus MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable timeout MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRThermostatClusterAtomicResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThermostatClusterAtomicRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull requestType MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nonnull attributeRequests MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable timeout MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)) @interface MTRFanControlClusterStepParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull direction MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)); @property (nonatomic, copy) NSNumber * _Nullable wrap MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)); @property (nonatomic, copy) NSNumber * _Nullable lowestOff MTR_AVAILABLE(ios(17.6), macos(14.6), watchos(10.6), tvos(17.6)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveToHueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull hue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull direction MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveHueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull moveMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull rate MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterStepHueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stepMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull stepSize MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveToSaturationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull saturation MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveSaturationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull moveMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull rate MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterStepSaturationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stepMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull stepSize MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveToHueAndSaturationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull hue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull saturation MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveToColorParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull colorX MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull colorY MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveColorParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull rateX MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull rateY MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterStepColorParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stepX MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull stepY MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveToColorTemperatureParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull colorTemperatureMireds MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end @interface MTRColorControlClusterMoveToColorTemperatureParams (Deprecated) @property (nonatomic, copy) NSNumber * _Nonnull colorTemperature MTR_DEPRECATED("Please use colorTemperatureMireds", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterEnhancedMoveToHueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull enhancedHue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull direction MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterEnhancedMoveHueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull moveMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull rate MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterEnhancedStepHueParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stepMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull stepSize MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterEnhancedMoveToHueAndSaturationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull enhancedHue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull saturation MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterColorLoopSetParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull updateFlags MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull action MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull direction MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull time MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull startHue MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterStopMoveStepParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterMoveColorTemperatureParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull moveMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull rate MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull colorTemperatureMinimumMireds MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull colorTemperatureMaximumMireds MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRColorControlClusterStepColorTemperatureParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull stepMode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull stepSize MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull transitionTime MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull colorTemperatureMinimumMireds MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull colorTemperatureMaximumMireds MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsMask MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull optionsOverride MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWiFiNetworkManagementClusterNetworkPassphraseRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWiFiNetworkManagementClusterNetworkPassphraseResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull passphrase MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRWiFiNetworkManagementClusterNetworkPassphraseResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadBorderRouterManagementClusterGetActiveDatasetRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadBorderRouterManagementClusterGetPendingDatasetRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadBorderRouterManagementClusterDatasetResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull dataset MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRThreadBorderRouterManagementClusterDatasetResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadBorderRouterManagementClusterSetActiveDatasetRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull activeDataset MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable breadcrumb MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadBorderRouterManagementClusterSetPendingDatasetRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull pendingDataset MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadNetworkDirectoryClusterAddNetworkParams : NSObject @property (nonatomic, copy) NSData * _Nonnull operationalDataset MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadNetworkDirectoryClusterRemoveNetworkParams : NSObject @property (nonatomic, copy) NSData * _Nonnull extendedPanID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadNetworkDirectoryClusterGetOperationalDatasetParams : NSObject @property (nonatomic, copy) NSData * _Nonnull extendedPanID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRThreadNetworkDirectoryClusterOperationalDatasetResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull operationalDataset MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRThreadNetworkDirectoryClusterOperationalDatasetResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRChannelClusterChangeChannelParams : NSObject @property (nonatomic, copy) NSString * _Nonnull match MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRChannelClusterChangeChannelResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable data MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRChannelClusterChangeChannelResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRChannelClusterChangeChannelByNumberParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull majorNumber MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull minorNumber MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRChannelClusterSkipChannelParams : NSObject @property (nonatomic, copy, getter=getCount) NSNumber * _Nonnull count MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRChannelClusterGetProgramGuideParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable startTime MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable endTime MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable channelList MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRChannelClusterPageTokenStruct * _Nullable pageToken MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable recordingFlag MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable externalIDList MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nullable data MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRChannelClusterProgramGuideResponseParams : NSObject @property (nonatomic, copy) MTRChannelClusterChannelPagingStruct * _Nonnull paging MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nonnull programList MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRChannelClusterProgramGuideResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRChannelClusterRecordProgramParams : NSObject @property (nonatomic, copy) NSString * _Nonnull programIdentifier MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull shouldRecordSeries MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nonnull externalIDList MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nonnull data MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRChannelClusterCancelRecordProgramParams : NSObject @property (nonatomic, copy) NSString * _Nonnull programIdentifier MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull shouldRecordSeries MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nonnull externalIDList MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nonnull data MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRTargetNavigatorClusterNavigateTargetParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull target MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable data MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRTargetNavigatorClusterNavigateTargetResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable data MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRTargetNavigatorClusterNavigateTargetResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterPlayParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterPauseParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRMediaPlaybackClusterStopParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRMediaPlaybackClusterStopParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRMediaPlaybackClusterStopPlaybackParams : MTRMediaPlaybackClusterStopParams /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterStartOverParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterPreviousParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterNextParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterRewindParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable audioAdvanceUnmuted MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterFastForwardParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable audioAdvanceUnmuted MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterSkipForwardParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull deltaPositionMilliseconds MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterSkipBackwardParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull deltaPositionMilliseconds MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterPlaybackResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable data MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRMediaPlaybackClusterPlaybackResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaPlaybackClusterSeekParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull position MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRMediaPlaybackClusterActivateAudioTrackParams : NSObject @property (nonatomic, copy) NSString * _Nonnull trackID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull audioOutputIndex MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRMediaPlaybackClusterActivateTextTrackParams : NSObject @property (nonatomic, copy) NSString * _Nonnull trackID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRMediaPlaybackClusterDeactivateTextTrackParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaInputClusterSelectInputParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull index MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaInputClusterShowInputStatusParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaInputClusterHideInputStatusParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRMediaInputClusterRenameInputParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull index MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nonnull name MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRLowPowerClusterSleepParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRKeypadInputClusterSendKeyParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull keyCode MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRKeypadInputClusterSendKeyResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRKeypadInputClusterSendKeyResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRContentLauncherClusterLaunchContentParams : NSObject @property (nonatomic, copy) MTRContentLauncherClusterContentSearchStruct * _Nonnull search MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nonnull autoPlay MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable data MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) MTRContentLauncherClusterPlaybackPreferencesStruct * _Nullable playbackPreferences MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable useCurrentContext MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRContentLauncherClusterLaunchURLParams : NSObject @property (nonatomic, copy) NSString * _Nonnull contentURL MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nullable displayString MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) MTRContentLauncherClusterBrandingInformationStruct * _Nullable brandingInformation MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRContentLauncherClusterLauncherResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable data MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRContentLauncherClusterLauncherResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRContentLauncherClusterLauncherResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRContentLauncherClusterLaunchResponseParams : MTRContentLauncherClusterLauncherResponseParams @property (nonatomic, copy) NSNumber * _Nonnull status MTR_DEPRECATED("The status field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable data MTR_DEPRECATED("The data field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAudioOutputClusterSelectOutputParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull index MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAudioOutputClusterRenameOutputParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull index MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nonnull name MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRApplicationLauncherClusterLaunchAppParams : NSObject @property (nonatomic, copy) MTRApplicationLauncherClusterApplicationStruct * _Nullable application MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable data MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRApplicationLauncherClusterStopAppParams : NSObject @property (nonatomic, copy) MTRApplicationLauncherClusterApplicationStruct * _Nullable application MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRApplicationLauncherClusterHideAppParams : NSObject @property (nonatomic, copy) MTRApplicationLauncherClusterApplicationStruct * _Nullable application MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRApplicationLauncherClusterLauncherResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSData * _Nullable data MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRApplicationLauncherClusterLauncherResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAccountLoginClusterGetSetupPINParams : NSObject @property (nonatomic, copy) NSString * _Nonnull tempAccountIdentifier MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAccountLoginClusterGetSetupPINResponseParams : NSObject @property (nonatomic, copy) NSString * _Nonnull setupPIN MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRAccountLoginClusterGetSetupPINResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAccountLoginClusterLoginParams : NSObject @property (nonatomic, copy) NSString * _Nonnull tempAccountIdentifier MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSString * _Nonnull setupPIN MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)); @property (nonatomic, copy) NSNumber * _Nullable node MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.1), macos(13.0), watchos(9.1), tvos(16.1)) @interface MTRAccountLoginClusterLogoutParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable node MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterUpdatePINParams : NSObject @property (nonatomic, copy) NSString * _Nullable oldPIN MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy, getter=getNewPIN) NSString * _Nonnull newPIN MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterResetPINParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterResetPINResponseParams : NSObject @property (nonatomic, copy) NSString * _Nonnull pinCode MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRContentControlClusterResetPINResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterEnableParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterDisableParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterAddBonusTimeParams : NSObject @property (nonatomic, copy) NSString * _Nullable pinCode MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable bonusTime MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterSetScreenDailyTimeParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull screenTime MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterBlockUnratedContentParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterUnblockUnratedContentParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterSetOnDemandRatingThresholdParams : NSObject @property (nonatomic, copy) NSString * _Nonnull rating MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentControlClusterSetScheduledContentRatingThresholdParams : NSObject @property (nonatomic, copy) NSString * _Nonnull rating MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentAppObserverClusterContentAppMessageParams : NSObject @property (nonatomic, copy) NSString * _Nullable data MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull encodingHint MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRContentAppObserverClusterContentAppMessageResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull status MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable data MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable encodingHint MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRContentAppObserverClusterContentAppMessageResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRZoneManagementClusterCreateTwoDCartesianZoneParams : NSObject @property (nonatomic, copy) MTRZoneManagementClusterTwoDCartesianZoneStruct * _Nonnull zone MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRZoneManagementClusterCreateTwoDCartesianZoneResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull zoneID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRZoneManagementClusterCreateTwoDCartesianZoneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRZoneManagementClusterUpdateTwoDCartesianZoneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull zoneID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRZoneManagementClusterTwoDCartesianZoneStruct * _Nonnull zone MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRZoneManagementClusterGetTwoDCartesianZoneParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable zoneID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRZoneManagementClusterGetTwoDCartesianZoneResponseParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull zones MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRZoneManagementClusterGetTwoDCartesianZoneResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRZoneManagementClusterRemoveZoneParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull zoneID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterAudioStreamAllocateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull audioCodec MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull channelCount MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sampleRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull bitRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull bitDepth MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRCameraAVStreamManagementClusterAudioStreamAllocateResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterAudioStreamDeallocateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterVideoStreamAllocateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull videoCodec MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull minFrameRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull maxFrameRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRCameraAVStreamManagementClusterVideoResolutionStruct * _Nonnull minResolution MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRCameraAVStreamManagementClusterVideoResolutionStruct * _Nonnull maxResolution MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull minBitRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull maxBitRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull minFragmentLen MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull maxFragmentLen MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable watermarkEnabled MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable osdEnabled MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRCameraAVStreamManagementClusterVideoStreamAllocateResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterVideoStreamModifyParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRCameraAVStreamManagementClusterVideoResolutionStruct * _Nullable resolution MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable watermarkEnabled MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable osdEnabled MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterVideoStreamDeallocateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSnapshotStreamAllocateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull imageCodec MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull frameRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull bitRate MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRCameraAVStreamManagementClusterVideoResolutionStruct * _Nonnull minResolution MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRCameraAVStreamManagementClusterVideoResolutionStruct * _Nonnull maxResolution MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull quality MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRCameraAVStreamManagementClusterSnapshotStreamAllocateResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSnapshotStreamDeallocateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSetStreamPrioritiesParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull streamPriorities MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterCaptureSnapshotParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull snapshotStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRCameraAVStreamManagementClusterVideoResolutionStruct * _Nonnull requestedResolution MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull data MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull imageCodec MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) MTRCameraAVStreamManagementClusterVideoResolutionStruct * _Nonnull resolution MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRCameraAVStreamManagementClusterCaptureSnapshotResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSetViewportParams : NSObject @property (nonatomic, copy) MTRCameraAVStreamManagementClusterViewportStruct * _Nonnull viewport MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSetImageRotationParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull angle MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSetImageFlipHorizontalParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull enabled MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCameraAVStreamManagementClusterSetImageFlipVerticalParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull enabled MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportProviderClusterSolicitOfferParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable iceServers MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable iceTransportPolicy MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable metadataOptions MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportProviderClusterSolicitOfferResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull deferredOffer MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRWebRTCTransportProviderClusterSolicitOfferResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportProviderClusterProvideOfferParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull streamType MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable videoStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable audioStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable iceServers MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable iceTransportPolicy MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nullable metadataOptions MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportProviderClusterProvideOfferResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull videoStreamID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull audioStreamID MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRWebRTCTransportProviderClusterProvideOfferResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportProviderClusterProvideAnswerParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportProviderClusterProvideICECandidateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull iceCandidate MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportProviderClusterEndSessionParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull reason MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportRequestorClusterOfferParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSArray * _Nullable iceServers MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable iceTransportPolicy MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportRequestorClusterAnswerParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull sdp MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportRequestorClusterICECandidateParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nonnull iceCandidate MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRWebRTCTransportRequestorClusterEndParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull webRTCSessionID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull reason MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRChimeClusterPlayChimeSoundParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCommissionerControlClusterRequestCommissioningApprovalParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull requestID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull vendorID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull productID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSString * _Nullable label MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCommissionerControlClusterCommissionNodeParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull requestID MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull responseTimeoutSeconds MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRCommissionerControlClusterReverseOpenCommissioningWindowParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull commissioningTimeout MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nonnull pakePasscodeVerifier MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull discriminator MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull iterations MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSData * _Nonnull salt MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRCommissionerControlClusterReverseOpenCommissioningWindowParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestParams : MTRUnitTestingClusterTestParams /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestSpecificResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestSpecificResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestSpecificResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestSpecificResponseParams : MTRUnitTestingClusterTestSpecificResponseParams @property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_DEPRECATED("The returnValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestNotHandledParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestNotHandledParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestNotHandledParams : MTRUnitTestingClusterTestNotHandledParams /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestAddArgumentsResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestAddArgumentsResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestAddArgumentsResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestAddArgumentsResponseParams : MTRUnitTestingClusterTestAddArgumentsResponseParams @property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_DEPRECATED("The returnValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestSpecificParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestSpecificParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestSpecificParams : MTRUnitTestingClusterTestSpecificParams /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestSimpleArgumentResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestSimpleArgumentResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestSimpleArgumentResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestSimpleArgumentResponseParams : MTRUnitTestingClusterTestSimpleArgumentResponseParams @property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_DEPRECATED("The returnValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestUnknownCommandParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestUnknownCommandParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestUnknownCommandParams : MTRUnitTestingClusterTestUnknownCommandParams /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestStructArrayArgumentResponseParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg2 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg3 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg4 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg5 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg6 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestStructArrayArgumentResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestStructArrayArgumentResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestStructArrayArgumentResponseParams : MTRUnitTestingClusterTestStructArrayArgumentResponseParams @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg2 MTR_DEPRECATED("The arg2 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg3 MTR_DEPRECATED("The arg3 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg4 MTR_DEPRECATED("The arg4 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg5 MTR_DEPRECATED("The arg5 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg6 MTR_DEPRECATED("The arg6 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestAddArgumentsParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestAddArgumentsParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestAddArgumentsParams : MTRUnitTestingClusterTestAddArgumentsParams @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_DEPRECATED("The arg2 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestListInt8UReverseResponseParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestListInt8UReverseResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestListInt8UReverseResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestListInt8UReverseResponseParams : MTRUnitTestingClusterTestListInt8UReverseResponseParams @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestSimpleArgumentRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestSimpleArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestSimpleArgumentRequestParams : MTRUnitTestingClusterTestSimpleArgumentRequestParams @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestEnumsResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestEnumsResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestEnumsResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestEnumsResponseParams : MTRUnitTestingClusterTestEnumsResponseParams @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_DEPRECATED("The arg2 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestStructArrayArgumentRequestParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg2 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg3 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg4 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg5 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg6 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestStructArrayArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestStructArrayArgumentRequestParams : MTRUnitTestingClusterTestStructArrayArgumentRequestParams @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg2 MTR_DEPRECATED("The arg2 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg3 MTR_DEPRECATED("The arg3 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nonnull arg4 MTR_DEPRECATED("The arg4 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg5 MTR_DEPRECATED("The arg5 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg6 MTR_DEPRECATED("The arg6 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestNullableOptionalResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull wasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable wasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable value MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable originalValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestNullableOptionalResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestNullableOptionalResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestNullableOptionalResponseParams : MTRUnitTestingClusterTestNullableOptionalResponseParams @property (nonatomic, copy) NSNumber * _Nonnull wasPresent MTR_DEPRECATED("The wasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable wasNull MTR_DEPRECATED("The wasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable value MTR_DEPRECATED("The value field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable originalValue MTR_DEPRECATED("The originalValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestStructArgumentRequestParams : NSObject @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestStructArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestStructArgumentRequestParams : MTRUnitTestingClusterTestStructArgumentRequestParams @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestComplexNullableOptionalResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull nullableIntWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableIntValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalIntWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable optionalIntValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalIntWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableStringWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable nullableStringValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalStringWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable optionalStringValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStringWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStringWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable nullableOptionalStringValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableStructWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStructValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalStructWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStructValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStructWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStructWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStructValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableListWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableListValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalListWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nullable optionalListValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalListWasPresent MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalListWasNull MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableOptionalListValue MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestComplexNullableOptionalResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestComplexNullableOptionalResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestComplexNullableOptionalResponseParams : MTRUnitTestingClusterTestComplexNullableOptionalResponseParams @property (nonatomic, copy) NSNumber * _Nonnull nullableIntWasNull MTR_DEPRECATED("The nullableIntWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableIntValue MTR_DEPRECATED("The nullableIntValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalIntWasPresent MTR_DEPRECATED("The optionalIntWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable optionalIntValue MTR_DEPRECATED("The optionalIntValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalIntWasPresent MTR_DEPRECATED("The nullableOptionalIntWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntWasNull MTR_DEPRECATED("The nullableOptionalIntWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntValue MTR_DEPRECATED("The nullableOptionalIntValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableStringWasNull MTR_DEPRECATED("The nullableStringWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable nullableStringValue MTR_DEPRECATED("The nullableStringValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalStringWasPresent MTR_DEPRECATED("The optionalStringWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable optionalStringValue MTR_DEPRECATED("The optionalStringValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStringWasPresent MTR_DEPRECATED("The nullableOptionalStringWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStringWasNull MTR_DEPRECATED("The nullableOptionalStringWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable nullableOptionalStringValue MTR_DEPRECATED("The nullableOptionalStringValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableStructWasNull MTR_DEPRECATED("The nullableStructWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStructValue MTR_DEPRECATED("The nullableStructValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalStructWasPresent MTR_DEPRECATED("The optionalStructWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStructValue MTR_DEPRECATED("The optionalStructValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStructWasPresent MTR_DEPRECATED("The nullableOptionalStructWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStructWasNull MTR_DEPRECATED("The nullableOptionalStructWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStructValue MTR_DEPRECATED("The nullableOptionalStructValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableListWasNull MTR_DEPRECATED("The nullableListWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableListValue MTR_DEPRECATED("The nullableListValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull optionalListWasPresent MTR_DEPRECATED("The optionalListWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nullable optionalListValue MTR_DEPRECATED("The optionalListValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalListWasPresent MTR_DEPRECATED("The nullableOptionalListWasPresent field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalListWasNull MTR_DEPRECATED("The nullableOptionalListWasNull field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableOptionalListValue MTR_DEPRECATED("The nullableOptionalListValue field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestNestedStructArgumentRequestParams : NSObject @property (nonatomic, copy) MTRUnitTestingClusterNestedStruct * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestNestedStructArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestNestedStructArgumentRequestParams : MTRUnitTestingClusterTestNestedStructArgumentRequestParams @property (nonatomic, copy) MTRUnitTestingClusterNestedStruct * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterBooleanResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull value MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterBooleanResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterBooleanResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterBooleanResponseParams : MTRUnitTestingClusterBooleanResponseParams @property (nonatomic, copy) NSNumber * _Nonnull value MTR_DEPRECATED("The value field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestListStructArgumentRequestParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestListStructArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestListStructArgumentRequestParams : MTRUnitTestingClusterTestListStructArgumentRequestParams @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterSimpleStructResponseParams : NSObject @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterSimpleStructResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterSimpleStructResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterSimpleStructResponseParams : MTRUnitTestingClusterSimpleStructResponseParams @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestListInt8UArgumentRequestParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestListInt8UArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestListInt8UArgumentRequestParams : MTRUnitTestingClusterTestListInt8UArgumentRequestParams @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestEmitTestEventResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull value MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestEmitTestEventResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestEventResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestEmitTestEventResponseParams : MTRUnitTestingClusterTestEmitTestEventResponseParams @property (nonatomic, copy) NSNumber * _Nonnull value MTR_DEPRECATED("The value field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestNestedStructListArgumentRequestParams : NSObject @property (nonatomic, copy) MTRUnitTestingClusterNestedStructList * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestNestedStructListArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestNestedStructListArgumentRequestParams : MTRUnitTestingClusterTestNestedStructListArgumentRequestParams @property (nonatomic, copy) MTRUnitTestingClusterNestedStructList * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull value MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Initialize an MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_AVAILABLE(ios(17.0), macos(14.0), watchos(10.0), tvos(17.0)); @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestEmitTestFabricScopedEventResponseParams : MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams @property (nonatomic, copy) NSNumber * _Nonnull value MTR_DEPRECATED("The value field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs MTR_DEPRECATED("Timed invoke does not make sense for server to client commands", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestListNestedStructListArgumentRequestParams : MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterTestBatchHelperResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull buffer MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRUnitTestingClusterTestBatchHelperResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestListInt8UReverseRequestParams : NSObject @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestListInt8UReverseRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestListInt8UReverseRequestParams : MTRUnitTestingClusterTestListInt8UReverseRequestParams @property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterStringEchoResponseParams : NSObject @property (nonatomic, copy) NSData * _Nonnull payload MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRUnitTestingClusterStringEchoResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestEnumsRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestEnumsRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestEnumsRequestParams : MTRUnitTestingClusterTestEnumsRequestParams @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_DEPRECATED("The arg2 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterGlobalEchoResponseParams : NSObject @property (nonatomic, copy) MTRDataTypeTestGlobalStruct * _Nonnull field1 MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull field2 MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRUnitTestingClusterGlobalEchoResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestNullableOptionalRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestNullableOptionalRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestNullableOptionalRequestParams : MTRUnitTestingClusterTestNullableOptionalRequestParams @property (nonatomic, copy) NSNumber * _Nullable arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestComplexNullableOptionalRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable nullableInt MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable optionalInt MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalInt MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable nullableString MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable optionalString MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSString * _Nullable nullableOptionalString MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStruct MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStruct MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStruct MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableList MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nullable optionalList MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableOptionalList MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestComplexNullableOptionalRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestComplexNullableOptionalRequestParams : MTRUnitTestingClusterTestComplexNullableOptionalRequestParams @property (nonatomic, copy) NSNumber * _Nullable nullableInt MTR_DEPRECATED("The nullableInt field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable optionalInt MTR_DEPRECATED("The optionalInt field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nullable nullableOptionalInt MTR_DEPRECATED("The nullableOptionalInt field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable nullableString MTR_DEPRECATED("The nullableString field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable optionalString MTR_DEPRECATED("The optionalString field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSString * _Nullable nullableOptionalString MTR_DEPRECATED("The nullableOptionalString field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStruct MTR_DEPRECATED("The nullableStruct field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStruct MTR_DEPRECATED("The optionalStruct field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStruct MTR_DEPRECATED("The nullableOptionalStruct field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableList MTR_DEPRECATED("The nullableList field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nullable optionalList MTR_DEPRECATED("The optionalList field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSArray * _Nullable nullableOptionalList MTR_DEPRECATED("The nullableOptionalList field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterSimpleStructEchoRequestParams : NSObject @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterSimpleStructEchoRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterSimpleStructEchoRequestParams : MTRUnitTestingClusterSimpleStructEchoRequestParams @property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTimedInvokeRequestParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTimedInvokeRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTimedInvokeRequestParams : MTRUnitTestingClusterTimedInvokeRequestParams /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nullable arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestSimpleOptionalArgumentRequestParams : MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams @property (nonatomic, copy) NSNumber * _Nullable arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestEmitTestEventRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg3 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestEventRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestEmitTestEventRequestParams : MTRUnitTestingClusterTestEmitTestEventRequestParams @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_DEPRECATED("The arg2 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); @property (nonatomic, copy) NSNumber * _Nonnull arg3 MTR_DEPRECATED("The arg3 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)) @interface MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_AVAILABLE(ios(16.4), macos(13.3), watchos(9.4), tvos(16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_DEPRECATED("Please use MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)) @interface MTRTestClusterClusterTestEmitTestFabricScopedEventRequestParams : MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_DEPRECATED("The arg1 field will be removed", ios(16.1, 16.4), macos(13.0, 13.3), watchos(9.1, 9.4), tvos(16.1, 16.4)); /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterTestBatchHelperRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull sleepBeforeResponseTimeMs MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sizeOfResponseBuffer MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull fillCharacter MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterTestSecondBatchHelperRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull sleepBeforeResponseTimeMs MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull sizeOfResponseBuffer MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull fillCharacter MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterStringEchoRequestParams : NSObject @property (nonatomic, copy) NSData * _Nonnull payload MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterGlobalEchoRequestParams : NSObject @property (nonatomic, copy) MTRDataTypeTestGlobalStruct * _Nonnull field1 MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull field2 MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterTestDifferentVendorMeiRequestParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRUnitTestingClusterTestDifferentVendorMeiResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull eventNumber MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRUnitTestingClusterTestDifferentVendorMeiResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRSampleMEIClusterPingParams : NSObject /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRSampleMEIClusterAddArgumentsResponseParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_PROVISIONALLY_AVAILABLE; /** * Initialize an MTRSampleMEIClusterAddArgumentsResponseParams with a response-value dictionary * of the sort that MTRDeviceResponseHandler would receive. * * Will return nil and hand out an error if the response-value dictionary is not * a command data response or is not the right command response. * * Will return nil and hand out an error if the data response does not match the known * schema for this command. */ - (nullable instancetype)initWithResponseValue:(NSDictionary *)responseValue error:(NSError * __autoreleasing *)error MTR_PROVISIONALLY_AVAILABLE; @end MTR_PROVISIONALLY_AVAILABLE @interface MTRSampleMEIClusterAddArgumentsParams : NSObject @property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_PROVISIONALLY_AVAILABLE; @property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_PROVISIONALLY_AVAILABLE; /** * Controls whether the command is a timed command (using Timed Invoke). * * If nil (the default value), a regular invoke is done for commands that do * not require a timed invoke and a timed invoke with some default timed request * timeout is done for commands that require a timed invoke. * * If not nil, a timed invoke is done, with the provided value used as the timed * request timeout. The value should be chosen small enough to provide the * desired security properties but large enough that it will allow a round-trip * from the sever to the client (for the status response and actual invoke * request) within the timeout window. * */ @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs; /** * Controls how much time, in seconds, we will allow for the server to process the command. * * The command will then time out if that much time, plus an allowance for retransmits due to network failures, passes. * * If nil, the framework will try to select an appropriate timeout value itself. */ @property (nonatomic, copy, nullable) NSNumber * serverSideProcessingTimeout; @end NS_ASSUME_NONNULL_END